0001433195-23-000099.txt : 20230728 0001433195-23-000099.hdr.sgml : 20230728 20230727201238 ACCESSION NUMBER: 0001433195-23-000099 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 73 CONFORMED PERIOD OF REPORT: 20230630 FILED AS OF DATE: 20230728 DATE AS OF CHANGE: 20230727 FILER: COMPANY DATA: COMPANY CONFORMED NAME: APPFOLIO INC CENTRAL INDEX KEY: 0001433195 STANDARD INDUSTRIAL CLASSIFICATION: SERVICES-PREPACKAGED SOFTWARE [7372] IRS NUMBER: 260359894 FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-37468 FILM NUMBER: 231119870 BUSINESS ADDRESS: STREET 1: 70 CASTILIAN DRIVE CITY: SANTA BARBARA STATE: CA ZIP: 93117 BUSINESS PHONE: 8053646047 MAIL ADDRESS: STREET 1: 70 CASTILIAN DRIVE CITY: SANTA BARBARA STATE: CA ZIP: 93117 10-Q 1 appf-20230630.htm 10-Q appf-20230630
000143319512/312023Q2falseP1Yhttp://fasb.org/us-gaap/2023#OtherLiabilitiesCurrenthttp://fasb.org/us-gaap/2023#OtherLiabilitiesCurrent33.3333.3333.3314900014331952023-01-012023-06-300001433195us-gaap:CommonClassAMember2023-07-20xbrli:shares0001433195us-gaap:CommonClassBMember2023-07-2000014331952023-06-30iso4217:USD00014331952022-12-310001433195us-gaap:CommonClassAMember2023-06-300001433195us-gaap:CommonClassAMember2022-12-310001433195us-gaap:CommonClassBMember2023-06-300001433195us-gaap:CommonClassBMember2022-12-3100014331952023-04-012023-06-3000014331952022-04-012022-06-3000014331952022-01-012022-06-30iso4217:USDxbrli:shares0001433195us-gaap:CostOfSalesMember2023-04-012023-06-300001433195us-gaap:CostOfSalesMember2022-04-012022-06-300001433195us-gaap:CostOfSalesMember2023-01-012023-06-300001433195us-gaap:CostOfSalesMember2022-01-012022-06-300001433195us-gaap:SellingAndMarketingExpenseMember2023-04-012023-06-300001433195us-gaap:SellingAndMarketingExpenseMember2022-04-012022-06-300001433195us-gaap:SellingAndMarketingExpenseMember2023-01-012023-06-300001433195us-gaap:SellingAndMarketingExpenseMember2022-01-012022-06-300001433195us-gaap:ResearchAndDevelopmentExpenseMember2023-04-012023-06-300001433195us-gaap:ResearchAndDevelopmentExpenseMember2022-04-012022-06-300001433195us-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-06-300001433195us-gaap:ResearchAndDevelopmentExpenseMember2022-01-012022-06-300001433195us-gaap:GeneralAndAdministrativeExpenseMember2023-04-012023-06-300001433195us-gaap:GeneralAndAdministrativeExpenseMember2022-04-012022-06-300001433195us-gaap:GeneralAndAdministrativeExpenseMember2023-01-012023-06-300001433195us-gaap:GeneralAndAdministrativeExpenseMember2022-01-012022-06-300001433195us-gaap:CommonClassAMemberus-gaap:CommonStockMember2022-12-310001433195us-gaap:CommonClassBMemberus-gaap:CommonStockMember2022-12-310001433195us-gaap:AdditionalPaidInCapitalMember2022-12-310001433195us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310001433195us-gaap:TreasuryStockCommonMember2022-12-310001433195us-gaap:RetainedEarningsMember2022-12-310001433195us-gaap:CommonClassAMemberus-gaap:CommonStockMember2023-01-012023-03-310001433195us-gaap:AdditionalPaidInCapitalMember2023-01-012023-03-3100014331952023-01-012023-03-310001433195us-gaap:CommonClassBMemberus-gaap:CommonStockMember2023-01-012023-03-310001433195us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-03-310001433195us-gaap:RetainedEarningsMember2023-01-012023-03-310001433195us-gaap:CommonClassAMemberus-gaap:CommonStockMember2023-03-310001433195us-gaap:CommonClassBMemberus-gaap:CommonStockMember2023-03-310001433195us-gaap:AdditionalPaidInCapitalMember2023-03-310001433195us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-03-310001433195us-gaap:TreasuryStockCommonMember2023-03-310001433195us-gaap:RetainedEarningsMember2023-03-3100014331952023-03-310001433195us-gaap:CommonClassAMemberus-gaap:CommonStockMember2023-04-012023-06-300001433195us-gaap:AdditionalPaidInCapitalMember2023-04-012023-06-300001433195us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-04-012023-06-300001433195us-gaap:RetainedEarningsMember2023-04-012023-06-300001433195us-gaap:CommonClassAMemberus-gaap:CommonStockMember2023-06-300001433195us-gaap:CommonClassBMemberus-gaap:CommonStockMember2023-06-300001433195us-gaap:AdditionalPaidInCapitalMember2023-06-300001433195us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-06-300001433195us-gaap:TreasuryStockCommonMember2023-06-300001433195us-gaap:RetainedEarningsMember2023-06-300001433195us-gaap:CommonClassAMemberus-gaap:CommonStockMember2021-12-310001433195us-gaap:CommonClassBMemberus-gaap:CommonStockMember2021-12-310001433195us-gaap:AdditionalPaidInCapitalMember2021-12-310001433195us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-310001433195us-gaap:TreasuryStockCommonMember2021-12-310001433195us-gaap:RetainedEarningsMember2021-12-3100014331952021-12-310001433195us-gaap:CommonClassAMemberus-gaap:CommonStockMember2022-01-012022-03-310001433195us-gaap:AdditionalPaidInCapitalMember2022-01-012022-03-3100014331952022-01-012022-03-310001433195us-gaap:CommonClassBMemberus-gaap:CommonStockMember2022-01-012022-03-310001433195us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-012022-03-310001433195us-gaap:RetainedEarningsMember2022-01-012022-03-310001433195us-gaap:CommonClassAMemberus-gaap:CommonStockMember2022-03-310001433195us-gaap:CommonClassBMemberus-gaap:CommonStockMember2022-03-310001433195us-gaap:AdditionalPaidInCapitalMember2022-03-310001433195us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-03-310001433195us-gaap:TreasuryStockCommonMember2022-03-310001433195us-gaap:RetainedEarningsMember2022-03-3100014331952022-03-310001433195us-gaap:CommonClassAMemberus-gaap:CommonStockMember2022-04-012022-06-300001433195us-gaap:CommonClassBMemberus-gaap:CommonStockMember2022-04-012022-06-300001433195us-gaap:AdditionalPaidInCapitalMember2022-04-012022-06-300001433195us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-04-012022-06-300001433195us-gaap:RetainedEarningsMember2022-04-012022-06-300001433195us-gaap:CommonClassAMemberus-gaap:CommonStockMember2022-06-300001433195us-gaap:CommonClassBMemberus-gaap:CommonStockMember2022-06-300001433195us-gaap:AdditionalPaidInCapitalMember2022-06-300001433195us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-06-300001433195us-gaap:TreasuryStockCommonMember2022-06-300001433195us-gaap:RetainedEarningsMember2022-06-3000014331952022-06-300001433195us-gaap:CorporateBondSecuritiesMember2023-06-300001433195us-gaap:AgencySecuritiesMember2023-06-300001433195us-gaap:USTreasurySecuritiesMember2023-06-300001433195us-gaap:CorporateBondSecuritiesMember2022-12-310001433195us-gaap:AgencySecuritiesMember2022-12-310001433195us-gaap:USTreasurySecuritiesMember2022-12-310001433195us-gaap:CorporateBondSecuritiesMember2023-01-012023-06-300001433195us-gaap:AgencySecuritiesMember2023-01-012023-06-300001433195us-gaap:USTreasurySecuritiesMember2023-01-012023-06-300001433195us-gaap:CorporateBondSecuritiesMember2022-01-012022-06-300001433195us-gaap:USTreasurySecuritiesMember2022-01-012022-06-300001433195us-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Member2023-06-300001433195us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001433195us-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001433195us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Memberus-gaap:USTreasurySecuritiesMember2023-06-300001433195us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:USTreasurySecuritiesMember2023-06-300001433195us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USTreasurySecuritiesMember2023-06-300001433195us-gaap:CorporateBondSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Member2023-06-300001433195us-gaap:FairValueInputsLevel2Memberus-gaap:CorporateBondSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001433195us-gaap:CorporateBondSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001433195us-gaap:FairValueMeasurementsRecurringMemberus-gaap:AgencySecuritiesMemberus-gaap:FairValueInputsLevel1Member2023-06-300001433195us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:AgencySecuritiesMember2023-06-300001433195us-gaap:FairValueMeasurementsRecurringMemberus-gaap:AgencySecuritiesMember2023-06-300001433195us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USTreasuryAndGovernmentMemberus-gaap:FairValueInputsLevel1Member2023-06-300001433195us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:USTreasuryAndGovernmentMember2023-06-300001433195us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USTreasuryAndGovernmentMember2023-06-300001433195us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Member2023-06-300001433195us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001433195us-gaap:FairValueMeasurementsRecurringMember2023-06-300001433195us-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Member2022-12-310001433195us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001433195us-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001433195us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Memberus-gaap:USTreasurySecuritiesMember2022-12-310001433195us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:USTreasurySecuritiesMember2022-12-310001433195us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USTreasurySecuritiesMember2022-12-310001433195us-gaap:CorporateBondSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Member2022-12-310001433195us-gaap:FairValueInputsLevel2Memberus-gaap:CorporateBondSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001433195us-gaap:CorporateBondSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001433195us-gaap:FairValueMeasurementsRecurringMemberus-gaap:AgencySecuritiesMemberus-gaap:FairValueInputsLevel1Member2022-12-310001433195us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:AgencySecuritiesMember2022-12-310001433195us-gaap:FairValueMeasurementsRecurringMemberus-gaap:AgencySecuritiesMember2022-12-310001433195us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USTreasuryAndGovernmentMemberus-gaap:FairValueInputsLevel1Member2022-12-310001433195us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:USTreasuryAndGovernmentMember2022-12-310001433195us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USTreasuryAndGovernmentMember2022-12-310001433195us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Member2022-12-310001433195us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001433195us-gaap:FairValueMeasurementsRecurringMember2022-12-310001433195us-gaap:CustomerRelationshipsMember2023-06-300001433195us-gaap:CustomerRelationshipsMembersrt:WeightedAverageMember2023-06-300001433195appf:DatabaseMember2023-06-300001433195appf:DatabaseMembersrt:WeightedAverageMember2023-06-300001433195appf:TechnologyMember2023-06-300001433195appf:TechnologyMembersrt:WeightedAverageMember2023-06-300001433195us-gaap:TrademarksAndTradeNamesMember2023-06-300001433195us-gaap:TrademarksAndTradeNamesMembersrt:WeightedAverageMember2023-06-300001433195appf:PartnerRelationshipsMember2023-06-300001433195appf:PartnerRelationshipsMembersrt:WeightedAverageMember2023-06-300001433195us-gaap:NoncompeteAgreementsMember2023-06-300001433195srt:WeightedAverageMemberus-gaap:NoncompeteAgreementsMember2023-06-300001433195us-gaap:InternetDomainNamesMember2023-06-300001433195us-gaap:InternetDomainNamesMembersrt:WeightedAverageMember2023-06-300001433195us-gaap:PatentsMember2023-06-300001433195us-gaap:PatentsMembersrt:WeightedAverageMember2023-06-300001433195srt:WeightedAverageMember2023-06-300001433195us-gaap:CustomerRelationshipsMember2022-12-310001433195us-gaap:CustomerRelationshipsMembersrt:WeightedAverageMember2022-12-310001433195appf:DatabaseMember2022-12-310001433195appf:DatabaseMembersrt:WeightedAverageMember2022-12-310001433195appf:TechnologyMember2022-12-310001433195appf:TechnologyMembersrt:WeightedAverageMember2022-12-310001433195us-gaap:TrademarksAndTradeNamesMember2022-12-310001433195us-gaap:TrademarksAndTradeNamesMembersrt:WeightedAverageMember2022-12-310001433195appf:PartnerRelationshipsMember2022-12-310001433195appf:PartnerRelationshipsMembersrt:WeightedAverageMember2022-12-310001433195us-gaap:NoncompeteAgreementsMember2022-12-310001433195srt:WeightedAverageMemberus-gaap:NoncompeteAgreementsMember2022-12-310001433195us-gaap:InternetDomainNamesMember2022-12-310001433195us-gaap:InternetDomainNamesMembersrt:WeightedAverageMember2022-12-310001433195us-gaap:PatentsMember2022-12-310001433195us-gaap:PatentsMembersrt:WeightedAverageMember2022-12-310001433195srt:WeightedAverageMember2022-12-310001433195srt:MinimumMember2023-06-300001433195srt:MaximumMember2023-06-3000014331952023-01-012023-01-3100014331952023-06-012023-06-30xbrli:pure00014331952022-01-012022-12-310001433195us-gaap:CommonClassAMember2023-01-012023-06-300001433195us-gaap:CommonClassAMember2022-01-012022-06-300001433195us-gaap:EmployeeStockOptionMember2023-04-012023-06-300001433195us-gaap:EmployeeStockOptionMember2023-01-012023-06-300001433195us-gaap:EmployeeStockOptionMember2022-01-012022-06-300001433195us-gaap:EmployeeStockOptionMember2022-04-012022-06-300001433195us-gaap:RestrictedStockUnitsRSUMember2022-12-310001433195us-gaap:RestrictedStockUnitsRSUMember2023-01-012023-06-300001433195us-gaap:RestrictedStockUnitsRSUMember2023-06-300001433195appf:RestrictedStockUnitsWithServiceConditionsMember2023-06-300001433195appf:RestrictedStockUnitsWithServiceAndPerformanceConditionsMember2023-06-300001433195appf:RestrictedStockUnitsWithServiceConditionsMember2023-01-012023-06-300001433195appf:PerformanceStockUnitsMember2023-06-300001433195us-gaap:ShareBasedCompensationAwardTrancheOneMemberappf:PerformanceStockUnitsMember2023-06-300001433195appf:PerformanceStockUnitsMember2023-01-012023-06-300001433195srt:MinimumMemberus-gaap:ShareBasedCompensationAwardTrancheOneMemberappf:PerformanceStockUnitsMember2023-06-300001433195srt:MaximumMemberus-gaap:ShareBasedCompensationAwardTrancheOneMemberappf:PerformanceStockUnitsMember2023-06-300001433195us-gaap:ShareBasedCompensationAwardTrancheTwoMemberappf:PerformanceStockUnitsMember2023-06-300001433195srt:MaximumMemberappf:PerformanceStockUnitsMember2023-06-300001433195srt:MinimumMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMemberappf:PerformanceStockUnitsMember2023-06-300001433195srt:MaximumMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMemberappf:PerformanceStockUnitsMember2023-06-300001433195srt:MinimumMemberus-gaap:ShareBasedCompensationAwardTrancheThreeMemberappf:PerformanceStockUnitsMember2023-01-012023-06-300001433195srt:MaximumMemberus-gaap:ShareBasedCompensationAwardTrancheThreeMemberappf:PerformanceStockUnitsMember2023-01-012023-06-300001433195appf:RestrictedStockUnitsAndPerformanceStockUnitsMember2023-04-012023-06-300001433195appf:RestrictedStockUnitsAndPerformanceStockUnitsMember2022-04-012022-06-300001433195appf:RestrictedStockUnitsAndPerformanceStockUnitsMember2023-01-012023-06-300001433195appf:RestrictedStockUnitsAndPerformanceStockUnitsMember2022-01-012022-06-300001433195appf:RestrictedStockUnitsAndPerformanceStockUnitsMember2023-06-300001433195us-gaap:RestrictedStockMember2022-12-310001433195us-gaap:RestrictedStockMember2023-01-012023-06-300001433195us-gaap:RestrictedStockMember2023-06-300001433195us-gaap:EmployeeStockOptionMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMember2023-01-012023-06-300001433195us-gaap:EmployeeStockOptionMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2023-01-012023-06-300001433195us-gaap:EmployeeStockOptionMemberus-gaap:ShareBasedCompensationAwardTrancheThreeMember2023-01-012023-06-300001433195appf:CoreSolutionsMember2023-04-012023-06-300001433195appf:CoreSolutionsMember2022-04-012022-06-300001433195appf:CoreSolutionsMember2023-01-012023-06-300001433195appf:CoreSolutionsMember2022-01-012022-06-300001433195appf:ValuePlusServicesMember2023-04-012023-06-300001433195appf:ValuePlusServicesMember2022-04-012022-06-300001433195appf:ValuePlusServicesMember2023-01-012023-06-300001433195appf:ValuePlusServicesMember2022-01-012022-06-300001433195appf:OtherServicesMember2023-04-012023-06-300001433195appf:OtherServicesMember2022-04-012022-06-300001433195appf:OtherServicesMember2023-01-012023-06-300001433195appf:OtherServicesMember2022-01-012022-06-3000014331952023-07-012023-06-300001433195appf:JanetKerrMember2023-01-012023-06-300001433195appf:JanetKerrMember2023-04-012023-06-300001433195appf:JanetKerrMember2023-06-30
 UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
Washington, D.C. 20549
 
FORM 10-Q
(Mark one)
QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the quarterly period ended June 30, 2023.
TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the transition period from ________ to ________.

Commission File Number 001-37468
AppFolio, Inc.
(Exact name of registrant as specified in its charter)
Delaware26-0359894
(State of incorporation or organization)(I.R.S. Employer Identification No.)
70 Castilian Drive93117
   Santa Barbara,California
(Address of principal executive offices) (Zip Code)
 (805) 364-6093
(Registrant’s telephone number, including area code)
N/A
(Former name, former address and former fiscal year, if changed since last report)
Securities registered pursuant to Section 12(b) of the Act:
Title of each classTrading SymbolName of each exchange on which registered
Class A common stock, $0.0001 par valueAPPFNASDAQ Global Market
Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days. Yes No
Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted and posted pursuant to Rule 405 of Regulation S-T (§232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit and post such files). Yes No
Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company or an emerging growth company. See the definitions of “large accelerated filer,” “accelerated filer,” “smaller reporting company” and "emerging growth company" in Rule 12b-2 of the Exchange Act.
Large accelerated filer
Accelerated filer
Non-accelerated filer
  
Smaller reporting company
Emerging growth company
If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. ☐

Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act). Yes No

As of July 20, 2023, the number of shares of the registrant’s Class A common stock outstanding was 20,925,280 and the number of shares of the registrant’s Class B common stock outstanding was 14,719,225.


TABLE OF CONTENTS
 
Page No.
 



FORWARD-LOOKING STATEMENTS

This Quarterly Report on Form 10-Q for the fiscal quarter ended June 30, 2023 (this "Quarterly Report"), contains forward-looking statements within the meaning of federal securities laws, which statements involve substantial risks and uncertainties. The forward-looking statements made in this Quarterly Report are based primarily on our current expectations and projections about future events and trends that we believe may affect our business, financial condition, operating results, and prospects and relate only to events as of the date on which the statements are made. In some cases, you can identify forward-looking statements because they contain words such as “may,” “will,” “should,” “might,” “expects,” “plans,” “anticipates,” “could,” “intends,” “target,” “projects,” “contemplates,” “believes,” “estimates,” “predicts,” “potential,” or “continue,” or the negative of these words or other similar terms or expressions that concern our expectations, strategy, plans, or intentions. We cannot assure you that the results, events, and circumstances reflected in the forward-looking statements will be achieved or occur, and actual results, events, or circumstances could differ materially from those described in the forward-looking statements. Our forward-looking statements do not reflect the potential impact of any future acquisitions, mergers, dispositions, joint ventures, or investments we may make. The outcome of the events described in these forward-looking statements is subject to risks, uncertainties, and other factors described in the section titled "Management's Discussion and Analysis of Financial Condition and Results of Operations" in this Quarterly Report and "Risk Factors" in our Annual Report on Form 10-K for the fiscal year ended December 31, 2022 (our "Annual Report"), as well as in the other reports we file with the Securities and Exchange Commission (the "SEC"). You should read this Quarterly Report, and the other documents we file with the SEC, with the understanding that our actual future results may be materially different from the results expressed or implied by these forward-looking statements. As such, you should not rely upon forward-looking statements as predictions of future events. Examples of forward-looking statements include, among others, statements made regarding changes in the competitive environment, responding to customer needs, research and product development plans, future products and services, growth in the size of our business and number of customers, strategic plans and objectives, business forecasts and plans, our future or assumed financial condition, results of operations and liquidity, trends affecting our business and industry, capital needs and financing plans, capital resource allocation plans, share repurchase plans, and commitments and contingencies, including with respect to the outcome of legal proceedings or regulatory matters. Any forward-looking statement made by us in this Quarterly Report is based only on information currently available to us and speaks only as of the date on which it is made. We undertake no obligation to update any forward-looking statements made in this Quarterly Report to reflect events or circumstances after the date of this Quarterly Report or to reflect new information or the occurrence of unanticipated events, except as required by law.


1

PART I. FINANCIAL INFORMATION
Item 1. Condensed Consolidated Financial Statements
2

APPFOLIO, INC.
CONDENSED CONSOLIDATED BALANCE SHEETS
(UNAUDITED)
(in thousands)
 June 30,
2023
December 31,
2022
Assets
Current assets
Cash and cash equivalents$24,698 $70,769 
Investment securities—current139,273 89,297 
Accounts receivable, net20,033 16,503 
Prepaid expenses and other current assets25,478 24,899 
Total current assets209,482 201,468 
Investment securities—noncurrent 25,161 
Property and equipment, net26,635 26,110 
Operating lease right-of-use assets20,308 23,485 
Capitalized software development costs, net26,857 35,315 
Goodwill56,060 56,060 
Intangible assets, net3,593 4,833 
Other long-term assets8,424 8,785 
Total assets$351,359 $381,217 
Liabilities and Stockholders’ Equity
Current liabilities
Accounts payable$1,532 $2,473 
Accrued employee expenses31,447 34,376 
Accrued expenses18,560 15,601 
Income tax payable13,485  
Other current liabilities9,687 8,893 
Total current liabilities74,711 61,343 
Operating lease liabilities39,554 50,237 
Other liabilities11,141 4,091 
Total liabilities125,406 115,671 
Commitments and contingencies (Note 8)
Stockholders’ equity:
Class A common stock2 2 
Class B common stock2 2 
Additional paid-in capital223,025 209,704 
Accumulated other comprehensive loss(587)(1,684)
Treasury stock(25,756)(25,756)
Retained earnings29,267 83,278 
Total stockholders’ equity225,953 265,546 
Total liabilities and stockholders’ equity$351,359 $381,217 
The accompanying Notes to Condensed Consolidated Financial Statements are an integral part of these statements.
3

APPFOLIO, INC.
CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS
(UNAUDITED)
(in thousands, except per share amounts)

 
 Three Months Ended
June 30,
Six Months Ended
June 30,
 2023202220232022
Revenue$147,075 $117,450 $283,175 $222,746 
Costs and operating expenses:
Cost of revenue (exclusive of depreciation and amortization)(1)
57,854 47,430 114,062 90,777 
Sales and marketing(1)
27,002 26,995 56,400 51,914 
Research and product development(1)
37,263 26,687 74,925 51,007 
General and administrative(1)
18,819 37,947 50,510 56,911 
Depreciation and amortization6,816 8,321 14,487 16,736 
Total costs and operating expenses147,754 147,380 310,384 267,345 
Loss from operations(679)(29,930)(27,209)(44,599)
Other (loss) income, net(54)45 (34)35 
Interest income, net1,478 151 2,839 258 
Income (loss) before provision for income taxes745 (29,734)(24,404)(44,306)
Provision for (benefit from) income taxes19,646 236 29,607 (49)
Net loss$(18,901)$(29,970)$(54,011)$(44,257)
Net loss per common share, basic and diluted$(0.53)$(0.86)$(1.52)$(1.27)
Weighted average common shares outstanding, basic and diluted35,565 34,927 35,505 34,881 
(1) Includes stock-based compensation expense as follows:
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
Stock-based compensation expense included in costs and operating expenses:
Cost of revenue (exclusive of depreciation and amortization)$988 $726 $1,756 $1,084 
Sales and marketing444 2,013 2,861 3,473 
Research and product development4,348 4,024 9,787 6,830 
General and administrative4,992 3,198 10,271 5,992 
Total stock-based compensation expense$10,772 $9,961 $24,675 $17,379 
The accompanying Notes to Condensed Consolidated Financial Statements are an integral part of these statements.

4


APPFOLIO, INC.
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS
(UNAUDITED)
(in thousands)

 Three Months Ended
June 30,
Six Months Ended
June 30,
 2023202220232022
Net loss$(18,901)$(29,970)$(54,011)$(44,257)
Other comprehensive income (loss):
    Changes in unrealized gains (losses) on investment securities334 (400)1,097 (1,745)
Comprehensive loss$(18,567)$(30,370)$(52,914)$(46,002)
The accompanying Notes to Condensed Consolidated Financial Statements are an integral part of these statements.

5


APPFOLIO, INC.
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY
(UNAUDITED)
(in thousands)
Accumulated
AdditionalOther
Common StockCommon StockPaid-inComprehensiveTreasuryRetained
Class AClass BCapitalLossStockEarningsTotal
SharesAmountSharesAmount
Balance at December 31, 202220,569 $2 14,746 $2 $209,704 $(1,684)$(25,756)$83,278 $265,546 
Exercise of stock options64 — — — 834 — — — 834 
Stock based compensation— — — — 14,075 — — — 14,075 
Vesting of restricted stock units, net of shares withheld for taxes79 — — — (5,539)— — — (5,539)
Conversion of Class B common stock to Class A common stock27 — (27)— — — — — — 
Issuance of restricted stock awards2 — — — — — — — — 
Other comprehensive income— — — — — 763 — — 763 
Net loss— — — — — — — (35,110)(35,110)
Balance at March 31, 202320,741 $2 14,719 $2 $219,074 $(921)$(25,756)$48,168 $240,569 
Exercise of stock options95 — — — 668 — — — 668 
Stock based compensation— — — — 11,000 — — — 11,000 
Vesting of restricted stock units, net of shares withheld for taxes82 — — — (7,717)— — — (7,717)
Issuance of restricted stock awards4 — — — — — — — — 
Other comprehensive income— — — — — 334 — — 334 
Net loss— — — — — — — (18,901)(18,901)
Balance at June 30, 202320,922 $2 14,719 $2 $223,025 $(587)$(25,756)$29,267 $225,953 



6

Accumulated
AdditionalOther
Common StockCommon StockPaid-inComprehensiveTreasuryRetained
Class AClass BCapitalLossStockEarningsTotal
SharesAmountSharesAmount
Balance at December 31, 202119,417 $2 15,408 $2 $171,930 $(194)$(25,756)$151,397 $297,381 
Exercise of stock options17 — — — 100 — — — 100 
Stock-based compensation— — — — 7,967 — — — 7,967 
Vesting of restricted stock units, net of shares withheld for taxes17 — — — (1,073)— — — (1,073)
Conversion of Class B common stock to Class A common stock572 — (572)— — — — — — 
Other comprehensive loss— — — — — (1,345)— — (1,345)
Net loss— — — — — — — (14,287)(14,287)
Balance at March 31, 202220,023 $2 14,836 $2 $178,924 $(1,539)$(25,756)$137,110 $288,743 
Exercise of stock options41 — 27 — 503 — — — 503 
Stock-based compensation— — — — 10,639 — — — 10,639 
Vesting of restricted stock units, net of shares withheld for taxes66 — — — (4,524)— — — (4,524)
Conversion of Class B stock to Class A stock37 — (37)— — — — — — 
Issuance of restricted stock awards6 — — — — — — — — 
Other comprehensive loss— — — — — (400)— — (400)
Net income— — — — — — — (29,970)(29,970)
Balance at June 30, 202220,173 $2 14,826 $2 $185,542 $(1,939)$(25,756)$107,140 $264,991 
The accompanying Notes to Condensed Consolidated Financial Statements are an integral part of these statements.

7

APPFOLIO, INC.
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS
(UNAUDITED)
(in thousands)
Six Months Ended
June 30,
 20232022
Cash from operating activities
Net loss$(54,011)$(44,257)
Adjustments to reconcile net loss to net cash (used in) provided by operating activities:
Depreciation and amortization13,135 15,637 
Amortization of operating lease right-of-use assets1,109 1,809 
Impairment, net 19,792 
Gain on lease modification(4,281) 
Deferred income taxes9 (1,550)
Stock-based compensation, including as amortized26,027 18,478 
Other(717)6 
Changes in operating assets and liabilities:
Accounts receivable(3,530)(2,924)
Prepaid expenses and other current assets(2,429)(2,652)
Other assets363 (1,308)
Accounts payable(989)17 
Accrued employee expenses(2,719)(3,217)
Accrued expenses2,170 3,182 
Taxes payable25,152 52 
Operating lease liabilities(4,638)(1,311)
Other liabilities(2,308)1,527 
Net cash (used in) provided by operating activities(7,657)3,281 
Cash from investing activities
Purchases of available-for-sale investments(73,597)(44,900)
Proceeds from sales of available-for-sale investments1,013  
Proceeds from maturities of available-for-sale investments49,617 43,498 
Purchases of property and equipment(2,171)(5,099)
Capitalization of software development costs(2,151)(7,193)
Proceeds from sale of equity-method investment629  
Net cash used in investing activities(26,660)(13,694)
Cash from financing activities
Proceeds from stock option exercises1,502 603 
Tax withholding for net share settlement(13,256)(5,597)
Net cash used in financing activities(11,754)(4,994)
Net decrease in cash, cash equivalents and restricted cash(46,071)(15,407)
Cash, cash equivalents and restricted cash
Beginning of period71,019 58,283 
End of period$24,948 $42,876 

The following table presents a reconciliation of cash, cash equivalents and restricted cash reported within our Condensed Consolidated Balance Sheets to the total of the same such amounts shown above (in thousands):
June 30,
20232022
Cash and cash equivalents$24,698 $42,626 
Restricted cash included in other assets250 250 
Total cash, cash equivalents and restricted cash$24,948 $42,876 
The accompanying Notes to Condensed Consolidated Financial Statements are an integral part of these statements.
8

APPFOLIO, INC.
NOTES TO CONDENSED CONSOLIDATED UNAUDITED FINANCIAL STATEMENTS
 1. Nature of Business
AppFolio, Inc. ("we," "us" or "our") is a leading provider of cloud business management solutions for the real estate industry. Our solutions are designed to enable our customers to digitally transform their businesses, address critical business operations and deliver a better customer experience. Digital transformation is effectively a requirement for business success in the modern world, and the way we work and live requires powerful software solutions.
 2. Summary of Significant Accounting Policies
Basis of Presentation and Significant Accounting Policies
The accompanying unaudited Condensed Consolidated Financial Statements were prepared in accordance with accounting principles generally accepted in the United States (“GAAP”) for interim financial information. Certain information and disclosures normally included in consolidated financial statements prepared in accordance with GAAP have been condensed or omitted. Accordingly, these Condensed Consolidated Financial Statements should be read in conjunction with our audited consolidated financial statements and the related notes included in our Annual Report, which was filed with the SEC on February 9, 2023. The year-end condensed balance sheet was derived from our audited consolidated financial statements. Our unaudited interim Condensed Consolidated Financial Statements include, in the opinion of management, all adjustments, consisting of normal and recurring items, necessary for the fair statement of our Condensed Consolidated Financial Statements. The operating results for the six months ended June 30, 2023 are not necessarily indicative of the results expected for the full year ending December 31, 2023.
Reclassification
We reclassified certain amounts in our Condensed Consolidated Statements of Cash Flows within the cash flows from operating activities section in the prior year to conform to the current year's presentation.
Use of Estimates
The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the dates of the financial statements, and the reported amounts of revenue, expenses, other income, and provision for income taxes during the reporting period. Assets and liabilities which are subject to judgment and use of estimates include the fair value of financial instruments, capitalized software development costs, period of benefit associated with deferred costs, incremental borrowing rate used to measure operating lease liabilities, the recoverability of goodwill and long-lived assets, income taxes, useful lives associated with property and equipment and intangible assets, contingencies, assumptions underlying performance-based compensation (whether cash or stock-based), and assumptions underlying stock-based compensation. Actual results could differ from those estimates and any such differences may have a material impact on our Condensed Consolidated Financial Statements.
Net Loss per Common Share
Net loss per common share was the same for shares of our Class A and Class B common stock because they are entitled to the same liquidation and dividend rights and are therefore combined in the table below. The following table presents a reconciliation of the weighted average number of shares of our Class A and Class B common stock used to compute net loss per common share (in thousands):
 Three Months Ended
June 30,
Six Months Ended
June 30,
 2023202220232022
Weighted average common shares outstanding35,573 34,931 35,512 34,885 
Less: Weighted average unvested restricted shares subject to repurchase8 4 7 4 
Weighted average common shares outstanding; basic and diluted35,565 34,927 35,505 34,881 
Because we reported a net loss for all periods presented, all potentially dilutive common shares are anti-dilutive for these periods and have been excluded from the calculation of net loss per share.
9

Recent Accounting Pronouncements Adopted
In October 2021, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") 2021-08, "Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers," which requires contract assets and contract liabilities acquired in a business combination to be recognized and measured by the acquirer on the acquisition date in accordance with ASC 606, "Revenue from Contracts with Customers," as if the acquirer had originated the contracts. ASU 2021-08 is effective for fiscal years beginning after December 15, 2022, with early adoption permitted. We adopted ASU 2021-08 on January 1, 2023. Adoption did not have an impact on our condensed consolidated financial statements.
 3. Investment Securities and Fair Value Measurements
Investment Securities
Investment securities classified as available-for-sale consisted of the following as of June 30, 2023 and December 31, 2022 (in thousands):
June 30, 2023
Amortized CostGross Unrealized GainsGross Unrealized LossesEstimated Fair Value
Corporate bonds$5,484 $ $(32)$5,452 
Agency securities11,261  (233)11,028 
Treasury securities123,582 8 (797)122,793 
Total available-for-sale investment securities$140,327 $8 $(1,062)$139,273 
December 31, 2022
Amortized CostGross Unrealized GainsGross Unrealized LossesEstimated Fair Value
Corporate bonds$17,497 $2 $(112)$17,387 
Agency securities17,507  (484)17,023 
Treasury securities81,605  (1,557)80,048 
Total available-for-sale investment securities$116,609 $2 $(2,153)$114,458 
As of June 30, 2023, the decline in fair value below amortized cost basis was not considered other than temporary as it is more likely than not we will hold the securities until maturity or recovery of the cost basis. No allowance for credit losses for available-for-sale investment securities was recorded as of June 30, 2023 or December 31, 2022.
The fair values of available-for-sale investment securities, by remaining contractual maturity, are as follows (in thousands):
June 30, 2023December 31, 2022
Amortized CostEstimated Fair ValueAmortized CostEstimated Fair Value
Due in one year or less$140,327 $139,273 $90,822 $89,297 
Due after one year through three years  25,787 25,161 
Total available-for-sale investment securities$140,327 $139,273 $116,609 $114,458 
During the six months ended June 30, 2023 and 2022, we had sales and maturities of investment securities, as follows (in thousands):
10

Six Months Ended June 30, 2023
Gross Realized GainsGross Realized LossesGross Proceeds from Sales Gross Proceeds from Maturities
Corporate bonds$3 $ $1,013 $11,012 
Agency securities   6,250 
Treasury securities   32,355 
Total$3 $ $1,013 $49,617 
Six Months Ended June 30, 2022
Gross Realized GainsGross Realized LossesGross Proceeds from SalesGross Proceeds from Maturities
Corporate bonds$ $ $ $23,998 
Treasury securities   19,500 
Total$ $ $ $43,498 
Fair Value Measurements
Recurring Fair Value Measurements
The following tables present our financial assets and liabilities measured at fair value on a recurring basis as of June 30, 2023 and December 31, 2022 by level within the fair value hierarchy (in thousands):
June 30, 2023
Level 1Level 2Total Fair
Value
Cash equivalents:
Money market funds$5,226 $ $5,226 
Treasury securities797  797 
Available-for-sale investment securities:
Corporate bonds 5,452 5,452 
Agency securities 11,028 11,028 
  Treasury securities122,793  122,793 
Total$128,816 $16,480 $145,296 
December 31, 2022
Level 1Level 2Total Fair
Value
Cash equivalents:
Money market funds$41,973 $ $41,973 
Treasury securities1,287  1,287 
Available-for-sale investment securities:
Corporate bonds 17,387 17,387 
Agency securities 17,023 17,023 
Treasury securities80,048  80,048 
Total$123,308 $34,410 $157,718 
The carrying amounts of cash and cash equivalents, restricted cash, accounts receivable, accounts payable and accrued liabilities approximate their fair value because of the short maturity of these items.
Fair value for our Level 1 investment securities is based on market prices for identical assets. Our Level 2 securities were priced by a pricing vendor. The pricing vendor utilizes the most recent observable market information in pricing these securities or, if specific prices are not available for these securities, other observable inputs like market transactions involving comparable securities are used.
11

 4. Capitalized Software Development Costs, net
Capitalized software development costs were as follows (in thousands):
June 30,
2023
December 31,
2022
Capitalized software development costs, gross$128,142 $129,749 
Less: Accumulated amortization(101,285)(94,434)
Capitalized software development costs, net$26,857 $35,315 
Capitalized software development costs were $1.3 million and $4.2 million for the three months ended June 30, 2023 and 2022, respectively, and $2.3 million and $8.3 million for the six months ended June 30, 2023 and 2022, respectively. Amortization expense with respect to capitalized software development costs totaled $4.9 million and $6.0 million for the three months ended June 30, 2023 and 2022, respectively, and $10.8 million and $12.0 million for the six months ended June 30, 2023 and 2022, respectively. During the three and six months ended June 30, 2023, we disposed of $1.3 million and $3.5 million, respectively, of fully amortized capitalized software development costs.
Future amortization expense with respect to capitalized software development costs as of June 30, 2023 is estimated as follows (in thousands):
Years Ending December 31,
2023$8,580 
202412,042 
20255,012 
20261,223 
    Total amortization expense$26,857 
12

 5. Intangible Assets, net
Intangible assets consisted of the following (in thousands, except years):
 June 30, 2023
Gross Carrying
Value
Accumulated
Amortization
Net Carrying
Value
Weighted Average Useful Life in Years
Customer relationships$1,670 $(1,559)$111 5.0
Database4,710 (2,120)2,590 10.0
Technology6,539 (6,539) 4.0
Trademarks and trade names1,520 (1,367)153 5.0
Partner relationships680 (680) 3.0
Non-compete agreements7,340 (6,606)734 5.0
Domain names90 (85)5 5.0
Patents252 (252) 5.0
Total intangible assets, net$22,801 $(19,208)$3,593 5.8
 December 31, 2022
 Gross Carrying
Value
Accumulated
Amortization
Net Carrying
Value
Weighted Average Useful Life in Years
Customer relationships$1,670 $(1,448)$222 5.0
Database4,710 (1,884)2,826 10.0
Technology6,539 (6,539) 4.0
Trademarks and trade names1,520 (1,211)309 5.0
Partner relationships680 (680) 3.0
Non-compete agreements7,340 (5,872)1,468 5.0
Domain names90 (82)8 5.0
Patents252 (252) 5.0
Total intangible assets, net$22,801 $(17,968)$4,833 4.7

Amortization expense with respect to intangible assets totaled $0.6 million and $1.2 million for the three months ended June 30, 2023 and 2022, respectively, and $1.2 million and $2.3 million for the six months ended June 30, 2023 and 2022, respectively. Future amortization expense with respect to intangible assets as of June 30, 2023 is estimated as follows (in thousands):
Years Ending December 31,
2023$1,236 
2024473 
2025471 
2026471 
2027471 
Thereafter471 
    Total amortization expense$3,593 

13

 6. Accrued Employee Expenses
Accrued employee expenses consisted of the following (in thousands):
June 30,
2023
December 31,
2022
Accrued vacation$13,523 $12,067 
Accrued bonuses10,028 13,806 
Accrued severance515 496 
Accrued payroll and other7,381 8,007 
    Total accrued employee expenses$31,447 $34,376 
In the first quarter of 2023, we accrued $14.9 million of severance related to separation costs associated with our former Chief Executive Officer's Transition and Separation Agreement, dated March 1, 2023 ("Separation Agreement"). The $14.9 million was fully paid in the second quarter of 2023.
 7. Leases
Operating leases for our corporate offices have remaining lease terms ranging from one to ten years, some of which include options to extend the leases for up to ten years. These options to extend have not been recognized as part of our operating lease right-of-use assets and lease liabilities as it is not reasonably certain that we will exercise these options. Our lease agreements do not contain any residual value guarantees or material restrictive covenants. Certain leases contain provisions for property-related costs that are variable in nature for which we are responsible, including common area maintenance, which are expensed as incurred.
The components of lease expense recognized in the Condensed Consolidated Statements of Operations were as follows (in thousands):
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
Operating lease cost$1,131 $1,468 $2,276 $2,915 
Variable lease cost448 252 1,021 375 
  Total lease cost$1,579 $1,720 $3,297 $3,290 

Lease-related assets and liabilities were as follows (in thousands):
June 30,
2023
December 31,
2022
Assets
Operating lease right-of-use assets$20,308 $23,485 
Liabilities
Other current liabilities$3,052 $3,357 
Operating lease liabilities39,554 50,237 
Total lease liabilities$42,606 $53,594 
During the second quarter of 2022, we decided to exit and make available for sublease certain leased office spaces. As a result, we recorded an impairment of $19.4 million consisting of $15.7 million related to ROU assets and $3.7 million related to property and equipment associated with our leased office spaces. These charges were recorded within General and administrative expenses in our Condensed Consolidated Statements of Operations.
In January 2023, we entered into an amendment to the lease agreement for our San Diego facility (the "San Diego Lease"). We remeasured the lease liability and recorded a reduction to the lease liability and right-of-use asset using the discount rate at the modification date, which resulted in a gain of $2.4 million in the Condensed Consolidated Statements of Operations.
14

In June 2023, we entered into a second amendment to reduce the rentable square footage and our future rental payment obligations under the San Diego Lease pursuant to which we made a one-time payment of $2.9 million. We again remeasured the lease liability and recorded a reduction to the lease liability using the discount rate at the modification date. As a result, we recorded a gain of $1.9 million in the Condensed Consolidated Statements of Operations.
In July 2023, we entered into an agreement to sublet one of our office spaces in Santa Barbara through December 31, 2031.
Future minimum lease payments under non-cancellable leases as of June 30, 2023 were as follows (in thousands):
Years ending December 31,
2023(1)
$(793)
2024(1)
5,063 
20256,168 
20266,345 
20276,528 
Thereafter31,090 
Total future minimum lease payments54,401 
Less: imputed interest(11,795)
Total$42,606 
(1) Future minimum lease payments for the years ending December 31, 2023 and 2024 are presented net of tenant improvement allowances of $3.7 million and $0.7 million respectively.

 8. Commitments and Contingencies
Legal Liability to Landlord Insurance
We have a wholly owned subsidiary, Terra Mar Insurance Company, Inc., which was established in connection with reinsuring liability to landlord insurance policies offered to our customers by our third-party service provider. Each policy has a limit of $100 thousand per incident. We assume a 100% quota share of the liability to landlord insurance policies placed with our customers by our third-party service provider. We accrue for reported claims, and include an estimate of losses incurred but not reported by our property manager customers, in cost of revenue because we bear the risk related to all such claims. Our estimated liability for reported claims and incurred but not reported claims as of June 30, 2023 and December 31, 2022 was $3.2 million and $2.7 million, respectively, and is included in Other current liabilities on our Condensed Consolidated Balance Sheets.
Included in Prepaid expenses and other current assets as of June 30, 2023 and December 31, 2022 are $2.8 million and $4.5 million, respectively, of deposits held with a third party related to requirements to maintain collateral for this insurance service.
Legal Proceedings
From time to time we may become involved in various legal proceedings, investigative inquiries, and other disputes arising from or related to matters incident to the ordinary course of our business activities. We are not currently a party to any matters, nor are we aware of any pending or threatened matters, that we believe would have a material adverse effect on our business, operating results, cash flows or financial condition should such proceedings be resolved unfavorably.
Indemnification
In the ordinary course of business, we may provide indemnification of varying scope and terms to customers, business partners, investors, directors, officers, and other parties with respect to certain matters, including, but not limited to, losses arising out of our breach of any applicable agreements, intellectual property infringement claims made by third parties, and other liabilities relating to or arising from our services or our acts or omissions. These indemnification provisions may survive termination of the underlying agreement and the maximum potential amount of future payments we could be required to make under these indemnification provisions may not be subject to maximum loss clauses and is indeterminable. We have not incurred any costs as a result of such indemnification obligations and have not recorded any liabilities related to such obligations in the Condensed Consolidated Financial Statements.
15

 9. Stock-Based Compensation
Stock Options
A summary of activity in connection with our stock options for the six months ended June 30, 2023, is as follows (number of shares in thousands):
Number of
Shares
Weighted
Average
Exercise
Price per Share
Weighted
Average
Remaining
Contractual Life
in Years
Options outstanding as of December 31, 2022516 $12.90 2.7
Options granted120 129.74 
Options exercised(159)9.44 
Options outstanding as of June 30, 2023477 $43.44 3.4
During the six months ended June 30, 2023, we granted our Chief Executive Officer 120,000 stock options of our Class A common stock. These stock options vest based on service conditions with one-third vesting at the end of each of the years ending December 31, 2025, 2026 and 2027. No stock options were granted during the six months ended June 30, 2022.
Our stock-based compensation expense for stock options was $0.4 million and $0.6 million for the three and six months ended June 30, 2023, respectively. There was no stock-based compensation expense for stock options in the same periods in the prior year.
The fair value of stock options granted is estimated on the date of grant using the Black-Scholes option-pricing model. The following table summarizes information relating to our stock options granted during six months ended June 30, 2023:
Weighted average grant-date fair value per share$67.23 
Weighted average Black-Scholes model assumptions:
Risk-free interest rate4.06 %
Expected term (in years)6.92
Expected volatility44 %
Expected dividend yield 
As of June 30, 2023, the total estimated remaining stock-based compensation expense for the aforementioned stock options was $7.5 million, which is expected to be recognized over a weighted average period of 4.5 years.
16

Restricted Stock Units
A summary of activity in connection with our RSUs for the six months ended June 30, 2023, is as follows (number of shares in thousands):
Number of SharesWeighted Average Grant Date Fair Value per Share
Unvested as of December 31, 20221,162 $116.88 
Granted630 122.37 
Vested(261)116.18 
Forfeited(196)115.28 
Unvested as of June 30, 20231,335 $119.84 
Unvested RSUs as of June 30, 2023 were composed of 1.1 million RSUs with only service conditions and 0.2 million PSUs with both service conditions and performance conditions. RSUs granted with only service conditions generally vest over a four-year period. The number of PSUs granted, as included in the above table, assumes achievement of the performance metric at 100% of the performance target. Of the unvested PSUs as of June 30, 2023, 0.1 million are subject to vesting based on the achievement of pre-established performance metrics for the year ending December 31, 2023 and will vest over a three year period, assuming continued employment through each vesting date. The actual number of shares to be issued at the end of the performance period will range from 0% to 142% of the target number of shares depending on achievement relative to the performance metric over the applicable period. The remaining 0.1 million PSUs unvested as of June 30, 2023 are subject to vesting based on the achievement of pre-established performance metrics for three year measurement periods ending December 31, 2023, assuming continued employment throughout the performance period. The actual number of shares to be issued at the end of the performance period will range from 0% to 100% of the initial target awards. Achievement of the performance metric between 100% and 150% of the performance target will result in a performance-based cash bonus payment between 0% and 65% of the initial target awards.
We recognized stock-based compensation expense for the RSUs and PSUs of $10.4 million and $10.5 million for the three months ended June 30, 2023 and 2022, respectively, and $24.1 million and $18.3 million for the six months ended June 30, 2023 and 2022, respectively. Excluded from stock-based compensation expense is capitalized software development costs of $0.2 million and $0.7 million for the three months ended June 30, 2023 and 2022, respectively, and $0.4 million and $1.2 million for the six months ended June 30, 2023 and 2022, respectively. As of June 30, 2023, the total estimated remaining stock-based compensation expense for the aforementioned RSUs and PSUs was $126.2 million, which is expected to be recognized over a weighted average period of 2.7 years.
Restricted Stock Awards
A summary of activity in connection with our restricted stock awards ("RSAs") for the six months ended June 30, 2023 is as follows (number of shares in thousands): 
Number of
Shares
Weighted Average
Grant Date
Fair Value per Share
Unvested as of December 31, 20226 $96.33 
Granted6 151.83 
Vested(6)96.33 
Unvested as of June 30, 20236 $151.83 
We have the right to repurchase any unvested RSAs subject to certain conditions. RSAs vest over a one-year period. Our stock-based compensation expense for RSAs was not material for the periods presented.
As of June 30, 2023, the total estimated remaining stock-based compensation expense for unvested RSAs with a repurchase right was $0.9 million, which is expected to be recognized over a weighted average period of 0.9 years.
 10. Income Taxes
We calculate our provision for (benefit from) income taxes on a quarterly basis by applying an estimated annual effective tax rate to income/loss from operations and by calculating the tax effect of discrete items recognized during the quarter.
17

For the three and six months ended June 30, 2023, we recorded income tax expense of $19.6 million and $29.6 million representing an effective tax rate of 2,637% and (121)%. The effective tax rate as compared to the U.S. federal statutory rate of 21% differs primarily due to the change in valuation allowance against deferred tax assets, non-deductible officers' compensation and state income taxes, partially offset by tax benefits from research and development tax credits.
We assess our ability to realize our deferred tax assets on a quarterly basis and we establish a valuation allowance if it is more-likely-than-not that some portion of the deferred tax assets will not be realized. We weigh all available positive and negative evidence, including our earnings history and results of recent operations, scheduled reversals of deferred tax liabilities, projected future taxable income and tax planning strategies.
There were no material changes to our unrecognized tax benefits during the six months ended June 30, 2023.
 11. Revenue and Other Information
The following table presents our revenue categories for the three and six months ended June 30, 2023 and 2022 (in thousands): 
 Three Months Ended
June 30,
Six Months Ended
June 30,
 2023202220232022
Core solutions$38,515 $32,414 $75,684 $63,223 
Value Added Services106,085 81,450 202,920 152,950 
Other2,475 3,586 4,571 6,573 
Total revenue$147,075 $117,450 $283,175 $222,746 
Our revenue is generated primarily from customers in the United States. All of our property and equipment is located in the United States.
Deferred Revenue
Deferred revenue as of June 30, 2023 and December 31, 2022 was $1.1 million and $0.9 million, respectively, and is included in Other current liabilities on our Condensed Consolidated Balance Sheets. During the six months ended June 30, 2023 and 2022, we recognized $0.7 million and $2.1 million of revenue, respectively, which were included in the deferred revenue balances as of December 31, 2022 and 2021, respectively.
Remaining Performance Obligations
As of June 30, 2023, the total non-cancelable remaining performance obligations ("RPO") under our contracts with customers was $24 million, and we expect to recognize revenue on approximately 50% of these RPO over the following 12 months, with the balance to be recognized thereafter.
Item 2. Management's Discussion and Analysis of Financial Condition and Results of Operations

The following discussion and analysis of our financial condition and results of operations should be read together with our Condensed Consolidated Financial Statements and the related notes included elsewhere in this Quarterly Report and in our Annual Report. This discussion and analysis contains forward-looking statements that are based on our current expectations and reflect our plans, estimates and anticipated future financial performance. These statements involve numerous risks and uncertainties. Our actual results may differ materially from those expressed or implied by these forward-looking statements as a result of many factors, including those set forth in the section entitled “Risk Factors” in our Annual Report, as well as our other public filings with the SEC. Please also refer to the section of this Quarterly Report entitled "Forward-Looking Statements" for additional information.
Overview
We are a leading provider of cloud business management solutions for the real estate industry. Our solutions are designed to enable our property manager customers to digitally transform their businesses, address critical business operations and deliver a better customer experience. Our products assist our customers with an interconnected and growing network of stakeholders in their business ecosystems, including property owners, real estate investment managers, rental prospects, residents, and service providers, and provide key functionality related to critical transactions across the real estate lifecycle, including screening potential tenants, sending and receiving payments and risk mitigation services. AppFolio’s intuitive
18

interface, coupled with streamlined and automated workflows, make it easier for our customers to eliminate redundant and manual processes so they can deliver a great experience for their network of stakeholders while improving financial and operational performance.
We rely heavily on our talented team of employees to execute our growth plans and achieve our long-term strategic objectives. We believe our people are at the heart of our success and our customers' success, and we have worked hard not only to attract and retain talented individuals, but also to provide a challenging and rewarding work environment to motivate and develop our valuable human capital. As we navigate the challenges of increased competition for talent, we continue to evolve our compensation and employee reward practices.
Property management units under management. We believe that our ability to increase our number of property management units under management is an indicator of our market penetration, growth, and potential future business opportunities. We define property management units under management as active or committed units under management at the period end date. We had 7.7 million and 6.8 million property management units under management as of June 30, 2023 and 2022, respectively.

Key Components of Results of Operations
Revenue
Our core solutions and certain of our Value Added Services are offered on a subscription basis. Our core solutions subscription fees vary by property type and are designed to scale with the size of our customers’ businesses. We recognize revenue for subscription-based services on a straight-line basis over the contract term beginning on the date that our service is made available. We generally invoice monthly or, to a lesser extent, annually in advance of the subscription period.
We also offer certain Value Added Services, which are not covered by our subscription fees, on a per-use basis. Usage-based fees are charged either as a percentage of the transaction amount (e.g., for certain of our payment services) or on a flat fee per transaction basis with no minimum usage commitments (e.g., for our tenant screening and risk mitigation services). We recognize revenue for usage-based services in the period the service is rendered. Our payments services fees are recorded gross of the interchange and payment processing related fees. We generally invoice our usage-based services on a monthly basis or collect the fee at the time of service. A significant majority of our Value Added Services revenue comes from the use of our payment services, tenant screening services, and risk mitigation services.
We charge our customers for assistance onboarding onto our core solutions and for certain other non-recurring services. We generally invoice for these other services in advance of the services being completed and recognize revenue in the period the service is rendered. We generate revenue from the legacy customers of previously acquired businesses by providing services outside of our property management core solution platform. Revenue derived from these services is recorded in Other revenue. As of June 30, 2023 and 2022, we had 19,145 and 17,878 property management customers, respectively.
Costs and Operating Expenses
Cost of Revenue (Exclusive of Depreciation and Amortization). Many of our Value Added Services are facilitated by third-party service providers. Cost of revenue paid to these third-party service providers includes the cost of electronic interchange and payment processing-related services to support our payments services, the cost of credit reporting services for our tenant screening services, and various costs associated with our risk mitigation service providers. These third-party costs vary both in amount and as a percent of revenue for each Value Added Service offering. Cost of revenue also consists of personnel-related costs for our employees focused on customer service and the support of our operations (including salaries, performance-based compensation, benefits, and stock-based compensation), platform infrastructure costs (such as data center operations and hosting-related costs), and allocated shared and other costs. Cost of revenue excludes depreciation of property and equipment, amortization of capitalized software development costs and amortization of intangible assets.
Sales and Marketing. Sales and marketing expense consists of personnel-related costs for our employees focused on sales and marketing (including salaries, sales commissions, performance-based compensation, benefits, and stock-based compensation), costs associated with sales and marketing activities, and allocated shared and other costs. Marketing activities include advertising, online lead generation, lead nurturing, customer and industry events, and the creation of industry-related content and collateral. We focus our sales and marketing efforts on generating awareness of our software solutions, creating sales leads, establishing and promoting our brands, and cultivating an educated community of successful and vocal customers.
Research and Product Development. Research and product development expense consists of personnel-related costs for our employees focused on research and product development (including salaries, performance-based compensation, benefits, and stock-based compensation), fees for third-party development resources, and allocated shared and other costs. Our research and product development efforts are focused on expanding functionality and the ease of use of our existing software
19

solutions by adding new core functionality, Value Added Services and other improvements, as well as developing new products and services. We capitalize our software development costs that meet the criteria for capitalization. Amortization of capitalized software development costs is included in depreciation and amortization expense.
General and Administrative. General and administrative expense consists of personnel-related costs for employees in our executive, finance, information technology, human resources, legal, compliance, corporate development and administrative organizations (including salaries, performance-based cash compensation, benefits, and stock-based compensation). In addition, general and administrative expense includes fees for third-party professional services (including audit, legal, compliance, and tax services), transaction costs related to sales of subsidiary businesses, regulatory fees, other corporate expenses, impairment of long-lived assets, gains on lease modifications, and allocated shared and other costs.
Depreciation and Amortization. Depreciation and amortization expense includes depreciation of property and equipment, amortization of capitalized software development costs, and amortization of intangible assets. We depreciate or amortize property and equipment, software development costs, and intangible assets over their expected useful lives on a straight-line basis, which approximates the pattern in which the economic benefits of the assets are consumed.
Other Income (Loss), Net. Other income (loss), net includes gains and losses associated with the sale of businesses and property and equipment.
Interest Income, Net. Interest income, net includes interest earned on investment securities, amortization and accretion of the premium and discounts paid from the purchase of investment securities, and interest earned on cash deposited in our bank accounts.
Provision for (Benefit from) Income Taxes. Provision for income taxes consists of federal and state income taxes in the United States.
Results of Operations

Revenue
 Three Months Ended
June 30,
ChangeSix Months Ended
June 30,
Change
 20232022Amount%20232022Amount%
 (dollars in thousands)
Core solutions$38,515 $32,414 $6,101 19 %$75,684 $63,223 $12,461 20 %
Value Added Services106,085 81,450 24,635 30 %202,920 152,950 49,970 33 %
Other2,475 3,586 (1,111)(31)%4,571 6,573 (2,002)(30)%
Total revenue$147,075 $117,450 $29,625 25 %$283,175 $222,746 $60,429 27 %

The increase in revenue for the three and six months ended June 30, 2023, compared to the same periods in the prior year, was primarily attributable to an increase in the usage of our payment, tenant screening and risk mitigation services. During the three and six month period ended June 30, 2023, we also experienced growth of 13% in the number of property management units under management compared to the same periods in the prior year, which drove growth in users of our subscription and usage-based services.
We expect our payment services, including the eCheck (ACH) transaction fee, which we will no longer waive beginning in the third quarter of 2023, to increase for the remainder of the year ended December 31, 2023.

20

Cost of Revenue (Exclusive of Depreciation and Amortization)
 Three Months Ended
June 30,
ChangeSix Months Ended
June 30,
Change
 20232022Amount%20232022Amount%
 (dollars in thousands)
Cost of revenue (exclusive of depreciation and amortization)$57,854 $47,430 $10,424 22 %$114,062 $90,777 $23,285 26 %
Percentage of revenue39.3 %40.4 %40.3 %40.8 %
Stock-based compensation, included above$988 $726 $262 36 %$1,756 $1,084 $672 62 %
Percentage of revenue0.7 %0.6 %0.6 %0.5 %
For the three and six months ended June 30, 2023, expenditures to third-party service providers related to the delivery of our Value Added Services increased $7.0 million and $15.2 million, respectively, compared to the same periods in the prior year. This increase was directly associated with the increased adoption and utilization of our Value Added Services. Personnel-related costs, including stock-based and performance-based compensation, necessary to support growth and key investments, increased $2.4 million and $6.1 million for the three and six months ended June 30, 2023, respectively, compared to the same periods in the prior year. Allocated shared and other costs increased by $1.0 million and $1.9 million for the three and six months ended June 30, 2023, respectively, compared to the same periods in the prior year, primarily related to platform infrastructure, software and other costs incurred in support of our overall growth.
As a percentage of revenue, cost of revenue (exclusive of depreciation and amortization) fluctuates primarily based on the mix of Value Added Services revenue in the period, given the varying percentage of revenue we pay to third-party service providers. We expect cost of revenue (exclusive of depreciation and amortization) for the year ending December 31, 2023, to decrease as a percentage of revenue compared to the year ended December 31, 2022, primarily due to increased revenue from our enhanced revenue mix.
Sales and Marketing
 Three Months Ended
June 30,
ChangeSix Months Ended
June 30,
Change
 20232022Amount%20232022Amount%
 (dollars in thousands)
Sales and marketing$27,002 $26,995 $— %$56,400 $51,914 $4,486 %
Percentage of revenue18.4 %23.0 %19.9 %23.3 %
Stock-based compensation, included above$444 $2,013 $(1,569)(78)%$2,861 $3,473 $(612)(18)%
Percentage of revenue0.3 %1.7 %1.0 %1.6 %
Sales and marketing expense for the three months ended June 30, 2023 stayed flat compared to the same period in the prior year. Sales and marketing expense for the six months ended June 30, 2023 increased primarily due to increases in personnel-related costs, including stock-based and performance-based compensation, necessary to support growth in the business of $3.4 million compared to the same period in the prior year. Advertising costs increased by $0.9 million for the six months ended June 30, 2023 compared to the same period in the prior year, due to increased promotional activities.
The decrease in stock-based compensation for the three and six months ended June 30, 2023 was primarily due to the reversal of expense for unvested equity awards as a result of changes in our leadership team.
We expect sales and marketing expense for the year ending December 31, 2023 to decrease as a percentage of revenue compared to the year ended December 31, 2022, as we continue to leverage headcount efficiencies.
21

Research and Product Development
 Three Months Ended
June 30,
ChangeSix Months Ended
June 30,
Change
 20232022Amount%20232022Amount%
 (dollars in thousands)
Research and product development$37,263 $26,687 $10,576 40 %$74,925 $51,007 $23,918 47 %
Percentage of revenue25.3 %22.7 %26.5 %22.9 %
Stock-based compensation, included above$4,348 $4,024 $324 %$9,787 $6,830 $2,957 43 %
Percentage of revenue3.0 %3.4 %3.5 %3.1 %
Research and product development expense for the three and six months ended June 30, 2023 increased primarily due to an increase in personnel-related costs, including stock-based and performance-based compensation, net of capitalized software development costs, of $10.2 million and $23.0 million, respectively, compared to the same periods in the prior year. The increase in personnel-related costs was primarily due to headcount growth within our research and product development organization.
We expect research and product development expenses for the year ending December 31, 2023 to increase as a percentage of revenue compared to the year ended December 31, 2022, as we continue to invest in our research and product development organization to support our strategy to expand the use cases of our product capabilities to the larger customer segment.
General and Administrative
 Three Months Ended
June 30,
ChangeSix Months Ended
June 30,
Change
 20232022Amount%20232022Amount%
 (dollars in thousands)
General and administrative$18,819 $37,947 $(19,128)(50)%$50,510 $56,911 $(6,401)(11)%
Percentage of revenue12.8 %32.3 %17.8 %25.5 %
Stock-based compensation, included above$4,992 $3,198 $1,794 56 %$10,271 $5,992 $4,279 71 %
Percentage of revenue3.4 %2.7 %3.6 %2.7 %
General and administrative expense for the three and six months ended June 30, 2023 decreased compared to the same periods in the prior year primarily due to lease-related asset impairment charges of $19.4 million and $19.8 million recognized in the three and six months ended June 30, 2022, respectively, that did not recur in 2023. In addition, allocated shared and other costs decreased $1.9 million and $4.3 million for the three and six months ended June 30, 2023, compared to the same periods in the prior year, due to gains related to lease modifications. This was partially offset by an increase in personnel-related costs, including stock-based and performance-based compensation, in the three and six months ended June 30, 2023 of $1.9 million and $17.5 million, respectively, compared to the same periods in the prior year. The increase in personnel-related costs for the six months ended June 30, 2023 was driven primarily by the separation costs associated with our former Chief Executive Officer's Separation Agreement. For further information see Note 6, Accrued Employee Expenses, of the Notes to Condensed Consolidated Financial Statements included in Part I, Item 1 of this report.
For the three and six months ended June 30, 2023, stock-based compensation increased due to additional grants to current and new employees.
We expect general and administrative expenses for the year ending December 31, 2023 to decrease as a percentage of revenue compared to the year ended December 31, 2022, as we continue to leverage headcount efficiencies.
22

Depreciation and Amortization
 Three Months Ended
June 30,
ChangeSix Months Ended
June 30,
Change
 20232022Amount%20232022Amount%
 (dollars in thousands)
Depreciation and amortization$6,816 $8,321 $(1,505)(18)%$14,487 $16,736 $(2,249)(13)%
Percentage of revenue4.6 %7.1 %5.1 %7.5 %
Depreciation and amortization expense for the three and six months ended June 30, 2023 decreased, compared to the same periods in the prior year, primarily due to decreased amortization expense associated with capitalized software development and intangible balances.
We expect depreciation and amortization expenses for the year ending December 31, 2023 to decrease as a percentage of revenue compared to the year ended December 31, 2022 due to a decrease in amortization of accumulated capitalized software development balances.
Interest Income, Net
Three Months Ended June 30, 2023ChangeSix Months Ended June 30, 2023Change
20232022Amount%20232022Amount%
(dollars in thousands)
Interest income, net$1,478 $151 $1,327 879 %$2,839 $258 $2,581 1,000 %
Percentage of revenue1.0 %— %1.0 %0.1 %

Interest income for the three and six months ended June 30, 2023 increased, compared to the same periods in the prior year, primarily due to higher interest rates.
Provision for (Benefit from) Income Taxes
 Three Months Ended
June 30,
ChangeSix Months Ended
June 30,
Change
 20232022Amount%20232022Amount%
 (dollars in thousands)
Income (loss) before provision for income taxes$745 $(29,734)$30,479 (103)%$(24,404)$(44,306)$19,902 (45)%
Provision for (benefit from) income taxes$19,646 $236 $19,410 *$29,607 $(49)$29,656 *
Effective tax rate2,637 %(1)%(121)%— %
*Percentage not meaningful
Our effective tax rates for the three and six months ended June 30, 2023 differ from the U.S. federal statutory rate of 21% primarily due to the change in valuation allowance against deferred tax assets, non-deductible officers' compensation and state income taxes, partially offset by tax benefits from stock-based compensation and research and development tax credits. Our effective tax rates for the three and six months ended June 30, 2022 differ from the U.S. federal statutory rate of 21% primarily due to the change in valuation allowance against deferred tax assets and tax benefits from research and development credits.
The increase in our effective tax rate for the three months ended June 30, 2023, as compared to the same period in 2022, is primarily due to the significant increase in our pre-tax income and increase in tax expense attributable to the change in valuation allowance against deferred tax assets, higher non-deductible officers’ compensation, state income taxes, and capitalized research and development expenses as required by a change in U.S. tax law effective January 1, 2022. The decrease in our effective tax rate for the six months ended June 30, 2023 as compared to the same period in 2022 is primarily attributable to the decrease in our pre-tax losses and increase in tax expense for similar reasons aforementioned.

23

Liquidity and Capital Resources
Our principal sources of liquidity continue to be cash, cash equivalents, and investment securities totaling $164.0 million, as well as cash flows generated from our operations. We have financed our operations primarily through cash generated from operations. We believe that our existing cash and cash equivalents, investment securities, and cash generated from operating activities will be sufficient to meet our working capital and capital expenditure requirements for at least the next twelve months.
Capital Requirements
Our future capital requirements will depend on many factors, including continued market acceptance of our software solutions, changes in the number of our customers, adoption and utilization of our Value Added Services by new and existing customers, the timing and extent of the introduction of new core functionality, products and Value Added Services, and the timing and extent of our investments across our organization. In addition, we have in the past entered into, and may in the future enter into, arrangements to acquire or invest in new technologies or markets adjacent to those we serve today. Furthermore, our Board of Directors has authorized the repurchase of up to $100.0 million of shares of our Class A common stock from time to time. To date, we have repurchased $4.2 million of our Class A common stock under the share repurchase program.
Cash Flows
The following table summarizes our cash flows for the periods indicated (in thousands):
 Six Months Ended
June 30,
 20232022
Net cash (used in) provided by operating activities$(7,657)$3,281 
Net cash used in investing activities(26,660)(13,694)
Net cash used in financing activities(11,754)(4,994)
Net decrease in cash, cash equivalents and restricted cash$(46,071)$(15,407)
Operating Activities
Our primary source of operating cash inflows is cash collected from our customers in connection with their use of our core solutions and Value Added Services. Our primary uses of cash from operating activities are for personnel-related expenditures and third-party costs incurred to support the delivery of our software solutions.
The net decrease in cash provided by operating activities for the six months ended June 30, 2023, compared to the same period in the prior year, was primarily due to the payment of separation costs in the second quarter of 2023 related to our former Chief Executive Officer's Separation Agreement, partially offset by changes in working capital levels.
Investing Activities
Cash used in investing activities is generally composed of purchases of investment securities, maturities and sales of investment securities, purchases of property and equipment, and additions to capitalized software development.
The net increase in cash used in investing activities for the six months ended June 30, 2023, compared to the same period in the prior year, was primarily due to higher purchases of available-for-sale investment securities.
Financing Activities
Cash used in financing activities is generally composed of net share settlements for employee tax withholdings associated with the vesting of equity awards offset by proceeds from the exercise of stock options.
The net increase in cash used in financing activities for the six months ended June 30, 2023, compared to the same period in the prior year, was primarily due to an increase in net share settlements for employee tax withholdings associated with the vesting of equity awards.
24

Critical Accounting Policies and Estimates
Our Condensed Consolidated Financial Statements and the related notes are prepared in accordance with accounting principles generally accepted in the United States. The preparation of our Condensed Consolidated Financial Statements requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the dates of the financial statements, and the reported amounts of revenues and expenses during the reporting period.
There have been no changes to our critical accounting policies and estimates described in our Annual Report that have had a material impact on our Condensed Consolidated Financial Statements and related notes.
Item 3. Qualitative and Quantitative Disclosure about Market Risk
Interest Rate Risk
Investment Securities
As of June 30, 2023, we had $139.3 million of investment securities consisting of United States government agency securities, corporate bonds, and treasury securities. The primary objective of investing in securities is to support our liquidity and capital needs. We did not purchase these investments for trading or speculative purposes and have not used any derivative financial instruments to manage our interest rate risk exposure.
Our investment securities are exposed to market risk due to interest rate fluctuations. While fluctuations in interest rates do not impact our interest income from our investment securities as all of these securities have fixed interest rates, changes in interest rates may impact the fair value of the investment securities. Since our investment securities are held as available for sale, all changes in fair value impact our other comprehensive (loss) income unless an investment security is considered impaired in which case changes in fair value are reported in other expense. As of June 30, 2023, a hypothetical 100 basis point decrease in interest rates would have resulted in an increase in the fair value of our investment securities of approximately $0.6 million and a hypothetical 100 basis point increase in interest rates would have resulted in a decrease in the fair value of our investment securities of approximately $0.6 million. This estimate is based on a sensitivity model which measures an instant change in interest rates by 100 basis points at June 30, 2023.
Item 4. Controls and Procedures
Evaluation of Disclosure Controls and Procedures
Our management, with the supervision and participation of our principal executive officer and principal financial officer, evaluated the effectiveness of our disclosure controls and procedures as of the end of the period covered by this Quarterly Report. The term “disclosure controls and procedures,” as defined in Rules 13a-15(e) and 15d-15(e) under the Exchange Act, means controls and other procedures of a company that are designed to provide reasonable assurance that information required to be disclosed by a company in the reports that it files or submits under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in the SEC’s rules and forms. Disclosure controls and procedures include, without limitation, controls and other procedures designed to provide reasonable assurance that information required to be disclosed by a company in the reports that it files or submits under the Exchange Act is accumulated and communicated to the company’s management, including its principal executive officer and principal financial officer, as appropriate to allow timely decisions regarding required disclosure.
Based on our management's evaluation, our principal executive officer and principal financial officer concluded that, as of the end of the period covered by this Quarterly Report, our disclosure controls and procedures were effective to provide reasonable assurance that information we are required to disclose in reports that we file or submit under the Exchange Act is recorded, processed, summarized, and reported within the time periods specified in the SEC's rules and forms, and that such information is accumulated and communicated to our management, including our principal executive officer and principal financial officer, as appropriate, to allow timely decisions regarding required disclosure.
Changes in Internal Control over Financial Reporting
There were no changes in our internal control over financial reporting identified in connection with the evaluation required by Rule 13a-15(d) and 15d-15(d) of the Exchange Act that occurred during the period covered by this Quarterly Report that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.
25

PART II. OTHER INFORMATION
Item 1. Legal Proceedings
From time to time, we are involved in various investigative inquiries, legal proceedings and other disputes arising from or related to matters incident to the ordinary course of our business activities, including actions with respect to intellectual property, employment, labor, regulatory and contractual matters. Although the results of such investigative inquiries, legal proceedings and other disputes cannot be predicted with certainty, we believe that we are not currently a party to any matters which, if determined adversely to us, would, individually or taken together, have a material adverse effect on our business, operating results, financial condition or cash flows. However, regardless of the merit of any matters raised or the ultimate outcome, investigative inquiries, legal proceedings and other disputes may generally have an adverse impact on us as a result of defense and settlement costs, diversion of management resources, and other factors.
Item 1A. Risk Factors
An investment in our Class A common stock involves risks. Before making an investment decision, you should carefully consider all of the information in this Quarterly Report, including in the section entitled “Management’s Discussion and Analysis of Financial Condition and Results of Operations” and the Condensed Consolidated Financial Statements and related notes. In addition, you should carefully consider the risks and uncertainties described in the section entitled “Risk Factors” in our Annual Report, which was filed with the SEC on February 9, 2023, as well as in our other public filings with the SEC. If any of the identified risks are realized, our business, financial condition, operating results and prospects could be materially and adversely affected. In that case, the trading price of our Class A common stock may decline, and you could lose all or part of your investment. In addition, other risks of which we are currently unaware, or which we do not currently view as material, could have a material adverse effect on our business, financial condition, operating results and prospects. As of the date of this report, there have been no material changes to the risk factors previously disclosed in the Annual Report. We may, however, disclose changes to such factors or disclose additional factors from time to time in our future filings with the SEC.

Item 5. Other Information
On May 5, 2023, Janet Kerr, a member of our Board of Directors, entered into a prearranged stock selling plan for the sale of up to 1,000 shares of the Company's Class A common stock between August 4, 2023 and December 31, 2023 (the "Sale Period"). Ms. Kerr's trading plan was entered into during an open insider trading window and is intended to satisfy the affirmative defense of Rule 10b5-1(c) under the Exchange Act of 1934, as amended, and the Company's policies regarding insider transactions.
26

Item 6. Exhibits
  Exhibit
Number
  Description of Document
  31.1  
  31.2  
  32.1*  
  101.INSInline XBRL Instance Document.
  101.SCHInline XBRL Taxonomy Extension Schema Document.
  101.CALInline XBRL Taxonomy Extension Calculation Linkbase Document.
  101.DEFInline XBRL Taxonomy Extension Definition Linkbase Document.
  101.LABInline XBRL Taxonomy Extension Label Linkbase Document.
  101.PREInline XBRL Taxonomy Extension Presentation Linkbase Document.
104Cover Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101)
*The certifications attached as Exhibit 32.1 accompany this Quarterly Report pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, and shall not be deemed “filed” by the registrant for purposes of Section 18 of the Exchange Act, and are not to be incorporated by reference into any of the registrant’s filings under the Securities Act or the Exchange Act, whether made before or after the date of this Quarterly Report, irrespective of any general incorporation language contained in any such filing.

27

SIGNATURES

Pursuant to the requirements of the Securities Exchange Act of 1934, as amended, the registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.
AppFolio, Inc.
Date:July 27, 2023By:/s/ Shane Trigg
Shane Trigg
Chief Executive Officer
(Principal Executive Officer)
Date:July 27, 2023By:/s/ Fay Sien Goon
Fay Sien Goon
Chief Financial Officer
(Principal Financial and Accounting Officer)



EX-31.1 2 a63023exhibit311.htm EX-31.1 Document

EXHIBIT 31.1
 
CERTIFICATION OF CHIEF EXECUTIVE OFFICER
PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002

I, Shane Trigg, certify that:
1.I have reviewed this Quarterly Report on Form 10-Q of AppFolio, Inc.;
2.Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;
3.Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;
4.The registrant's other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules13a-15(f) and 15d-15(f)) for the registrant and have:
a.Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
b.Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
c.Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
d.Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and
5.The registrant's other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):
a.All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and
b.Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.
  
Date: July 27, 2023 /s/ Shane Trigg
   Shane Trigg
   Chief Executive Officer

EX-31.2 3 a63023exhibit312.htm EX-31.2 Document

EXHIBIT 31.2
 
CERTIFICATION OF CHIEF FINANCIAL OFFICER
PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002


I, Fay Sien Goon, certify that:
1.I have reviewed this Quarterly Report on Form 10-Q of AppFolio, Inc.;
2.Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;
3.Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;
4.The registrant's other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules13a-15(f) and 15d-15(f)) for the registrant and have:

a.Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
b.Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
c.Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
d.Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and
5.The registrant's other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):
a.All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and
b.Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.
Date:July 27, 2023/s/ Fay Sien Goon
Fay Sien Goon
Chief Financial Officer

EX-32.1 4 a63023exhibit321.htm EX-32.1 Document


EXHIBIT 32.1

 

CERTIFICATIONS OF CHIEF EXECUTIVE OFFICER AND CHIEF FINANCIAL OFFICER
PURSUANT TO 18 U.S.C. SECTION 1350,
AS ADOPTED PURSUANT TO SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

The following certifications are hereby made in connection with the Quarterly Report on Form 10-Q of AppFolio, Inc. (the “Company”) for the period ended June 30, 2023, as filed with the Securities and Exchange Commission on the date hereof (the “Report”):

I, Shane Trigg, President and Chief Executive Officer of the Company, hereby certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that, to my knowledge, (i) the Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934, as amended, and (ii) the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company as of the dates and for the periods presented.
Date:July 27, 2023By: /s/ Shane Trigg
   Shane Trigg
   President and Chief Executive Officer


I, Fay Sien Goon, Chief Financial Officer of the Company, hereby certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that, to my knowledge, (i) the Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934, as amended, and (ii) the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company as of the dates and for the periods presented.
    
Date:July 27, 2023By: /s/ Fay Sien Goon
   Fay Sien Goon
   Chief Financial Officer
 



 

EX-101.SCH 5 appf-20230630.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0000001 - Document - Cover Page link:presentationLink link:calculationLink link:definitionLink 0000002 - Statement - Condensed Consolidated Balance Sheets link:presentationLink link:calculationLink link:definitionLink 0000003 - Statement - Condensed Consolidated Statements of Operations link:presentationLink link:calculationLink link:definitionLink 0000004 - Statement - Condensed Consolidated Statements of Operations (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000005 - Statement - Consolidated Statements of Comprehensive Loss link:presentationLink link:calculationLink link:definitionLink 0000006 - Statement - Condensed Consolidated Statements of Stockholders' Equity link:presentationLink link:calculationLink link:definitionLink 0000007 - Statement - Condensed Consolidated Statements of Cash Flows link:presentationLink link:calculationLink link:definitionLink 0000008 - Disclosure - Nature of Business link:presentationLink link:calculationLink link:definitionLink 0000009 - Disclosure - Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 0000010 - Disclosure - Investment Securities and Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 0000011 - Disclosure - Capitalized Software Development Costs, net link:presentationLink link:calculationLink link:definitionLink 0000012 - Disclosure - Intangible Assets, net link:presentationLink link:calculationLink link:definitionLink 0000013 - Disclosure - Accrued Employee Expenses link:presentationLink link:calculationLink link:definitionLink 0000014 - Disclosure - Leases link:presentationLink link:calculationLink link:definitionLink 0000015 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 0000016 - Disclosure - Stock-Based Compensation link:presentationLink link:calculationLink link:definitionLink 0000017 - Disclosure - Income Taxes link:presentationLink link:calculationLink link:definitionLink 0000018 - Disclosure - Revenue and Other Information link:presentationLink link:calculationLink link:definitionLink 9954701 - Disclosure - Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 9954702 - Disclosure - Summary of Significant Accounting Policies (Tables) link:presentationLink link:calculationLink link:definitionLink 9954703 - Disclosure - Investment Securities and Fair Value Measurements (Tables) link:presentationLink link:calculationLink link:definitionLink 9954704 - Disclosure - Capitalized Software Development Costs, net (Tables) link:presentationLink link:calculationLink link:definitionLink 9954705 - Disclosure - Intangible Assets, net (Tables) link:presentationLink link:calculationLink link:definitionLink 9954706 - Disclosure - Accrued Employee Expenses (Tables) link:presentationLink link:calculationLink link:definitionLink 9954707 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink 9954708 - Disclosure - Stock-Based Compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 9954709 - Disclosure - Revenue and Other Information (Tables) link:presentationLink link:calculationLink link:definitionLink 9954710 - Disclosure - Summary of Significant Accounting Policies - Schedule of Net Income per Share (Details) link:presentationLink link:calculationLink link:definitionLink 9954711 - Disclosure - Investment Securities and Fair Value Measurements - Schedule of Available-for-sale Securities (Details) link:presentationLink link:calculationLink link:definitionLink 9954712 - Disclosure - Investment Securities and Fair Value Measurements - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 9954713 - Disclosure - Investment Securities and Fair Value Measurements - Available-for-sale Investments, by Remaining Contract Maturity (Details) link:presentationLink link:calculationLink link:definitionLink 9954714 - Disclosure - Investment Securities and Fair Value Measurements - Schedule of Sales, Calls and Maturities (Details) link:presentationLink link:calculationLink link:definitionLink 9954715 - Disclosure - Investment Securities and Fair Value Measurements - Fair Value, Assets Measured on Recurring Basis (Details) link:presentationLink link:calculationLink link:definitionLink 9954716 - Disclosure - Capitalized Software Development Costs, net - Capitalized Computer Software (Details) link:presentationLink link:calculationLink link:definitionLink 9954717 - Disclosure - Capitalized Software Development Costs, net - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 9954718 - Disclosure - Capitalized Software Development Costs, net - Capitalized Computer Software Future Amortization Expense (Details) link:presentationLink link:calculationLink link:definitionLink 9954719 - Disclosure - Intangible Assets, net - Schedule of Finite-Lived Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 9954720 - Disclosure - Intangible Assets, net - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 9954721 - Disclosure - Intangible Assets, net - Schedule of Finite-Lived Intangible Assets, Future Amortization Expense (Details) link:presentationLink link:calculationLink link:definitionLink 9954722 - Disclosure - Accrued Employee Expenses (Details) link:presentationLink link:calculationLink link:definitionLink 9954723 - Disclosure - Accrued Employee Expenses - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 9954724 - Disclosure - Leases - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 9954725 - Disclosure - Leases - Schedule of Components of Lease Expense (Details) link:presentationLink link:calculationLink link:definitionLink 9954726 - Disclosure - Leases - Lease Related Assets and Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 9954727 - Disclosure - Leases - Schedule of Minimum Lease Payments Under Leases (Details) link:presentationLink link:calculationLink link:definitionLink 9954727 - Disclosure - Leases - Schedule of Minimum Lease Payments Under Leases (Details) link:presentationLink link:calculationLink link:definitionLink 9954728 - Disclosure - Commitments and Contingencies (Details) link:presentationLink link:calculationLink link:definitionLink 9954729 - Disclosure - Stock-Based Compensation - Stock Option Activity (Details) link:presentationLink link:calculationLink link:definitionLink 9954730 - Disclosure - Stock-Based Compensation - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954731 - Disclosure - Stock-Based Compensation - Assumptions (Details) link:presentationLink link:calculationLink link:definitionLink 9954732 - Disclosure - Stock-Based Compensation - Restricted Stock Units Activity (Details) link:presentationLink link:calculationLink link:definitionLink 9954733 - Disclosure - Stock-Based Compensation - Restricted Stock Units Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954734 - Disclosure - Stock-Based Compensation - Restricted Stock Awards (Details) link:presentationLink link:calculationLink link:definitionLink 9954735 - Disclosure - Income Taxes (Details) link:presentationLink link:calculationLink link:definitionLink 9954736 - Disclosure - Revenue and Other Information (Details) link:presentationLink link:calculationLink link:definitionLink 9954737 - Disclosure - Revenue and Other Information - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 9954737 - Disclosure - Revenue and Other Information - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 6 appf-20230630_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 7 appf-20230630_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 8 appf-20230630_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Deferred income taxes Deferred Income Taxes and Tax Credits Vesting of restricted stock units, net of shares withheld for taxes (in shares) Restricted Stock Units, Shares Issued Net Of Shares For Tax Withholdings Restricted Stock Units, Shares Issued Net Of Shares For Tax Withholdings Stock Appreciation Rights (SARs) Stock Appreciation Rights (SARs) [Member] Pay vs Performance Disclosure [Line Items] Proceeds from sales of available-for-sale investments Gross Proceeds from Sales Proceeds from Sale of Debt Securities, Available-for-Sale Accrued expenses Accrued Liabilities, Current Statistical Measurement [Domain] Statistical Measurement [Domain] Research and product development Research and Development Expense Changes in operating assets and liabilities: Increase (Decrease) in Operating Capital [Abstract] Underlying Security Market Price Change Underlying Security Market Price Change, Percent Award Type [Domain] Award Type [Domain] Fair Value as of Grant Date Award Grant Date Fair Value Remaining performance obligation, expected timing of satisfaction, period Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Unvested, beginning balance (in shares) Unvested, ending balance (in shares) Share-based payment award, non-option equity instruments, nonvested (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Schedule of Available-for-sale Securities Schedule of Available-for-Sale Securities Reconciliation [Table Text Block] Accrued severance Accrued Severance, Current Accrued Severance, Current 2024 Capitalized Computer Software, Amortization Expense, Year One Capitalized Computer Software, Amortization Expense, Year One MNPI Disclosure Timed for Compensation Value MNPI Disclosure Timed for Compensation Value [Flag] Accounts payable Accounts Payable, Current Research and Development [Abstract] Research and Development [Abstract] Restatement Determination Date: Restatement Determination Date [Axis] Commitments and contingencies (Note 8) Commitments and Contingencies Years ending December 31, Lessee, Operating Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract] Insider Trading Policies and Procedures [Line Items] Rule 10b5-1 Arrangement Terminated Rule 10b5-1 Arrangement Terminated [Flag] Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] Schedule of Restricted Stock Awards Activity Nonvested Restricted Stock Shares Activity [Table Text Block] Restatement does not require Recovery Restatement Does Not Require Recovery [Text Block] Deposits held with a third party related to insurance services collateral Property, Liability And Casualty Insurance, Deposits Held With Third Party As Collateral For Services Property, Liability And Casualty Insurance, Deposits Held With Third Party As Collateral For Services Income Taxes Income Tax Disclosure [Text Block] Expected dividend yield Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate Current liabilities Liabilities, Current [Abstract] Weighted Average Grant Date Fair Value per Share Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract] Fair Value, Recurring and Nonrecurring [Table] Fair Value, Recurring and Nonrecurring [Table] Impairment, long-lived asset, held-for-use Impairment, Long-Lived Asset, Held-for-Use Net loss per common share, diluted (in dollars per share) Earnings Per Share, Diluted PEO Total Compensation Amount PEO Total Compensation Amount Treasury stock Treasury Stock, Value Accounts receivable, net Accounts Receivable, after Allowance for Credit Loss, Current Impairment, related to ROU assets Impairment, Lessor Asset under Operating Lease Trading Arrangements, by Individual Trading Arrangements, by Individual [Table] Lease renewal term Lessor, Operating Lease, Renewal Term Options outstanding, beginning balance (in shares) Options outstanding, ending balance (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number Amortized Cost Debt Securities, Available-for-Sale, Maturity, Allocated and Single Maturity Date, Amortized Cost [Abstract] Available-for-sale investment securities: Estimated Fair Value Debt Securities, Available-for-Sale, Excluding Accrued Interest Capitalized Software Development Costs, net Research, Development, and Computer Software Disclosure [Text Block] Exercise of stock options Stock Issued During Period, Value, Stock Options Exercised Trading Symbol Trading Symbol Non-PEO NEO Average Compensation Actually Paid Amount Non-PEO NEO Average Compensation Actually Paid Amount Non-compete agreements Noncompete Agreements [Member] Options granted (in dollars per share) Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price Grant date fair value (in USD per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value Net loss Net (loss) income Net loss Net Income (Loss) Total current liabilities Liabilities, Current Fair Value Disclosures [Abstract] Fair Value Disclosures [Abstract] Changed Peer Group, Footnote Changed Peer Group, Footnote [Text Block] Company Selected Measure Name Company Selected Measure Name Due after one year through three years Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, after Year One Through Five Leases Lessee, Operating Leases [Text Block] Corporate bonds Corporate bonds Corporate bonds Corporate Bond Securities [Member] Liabilities and Stockholders’ Equity Liabilities and Equity [Abstract] Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets [Line Items] Compensation Related Costs [Abstract] Cash and Cash Equivalents [Domain] Cash and Cash Equivalents [Domain] Investment Securities and Fair Value Measurements Investments in Debt and Marketable Equity Securities (and Certain Trading Assets) Disclosure [Text Block] Stockholders’ equity: Equity, Attributable to Parent [Abstract] Gross Unrealized Losses Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax Exercise of stock options (in shares) Options exercised (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period Vesting period Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period Executive Category: Executive Category [Axis] Class B common stock Common Class B [Member] Schedule of Weighted Average Number of Shares Schedule of Weighted Average Number of Shares [Table Text Block] Number of Shares Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward] Options exercised (in dollars per share) Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price Level 1 Fair Value, Inputs, Level 1 [Member] Name Measure Name Patents Patents [Member] Name Forgone Recovery, Individual Name Goodwill Goodwill Equity Components [Axis] Equity Components [Axis] Financial Instruments [Domain] Financial Instruments [Domain] Additional 402(v) Disclosure Additional 402(v) Disclosure [Text Block] Lessee, Lease, Description [Table] Lessee, Lease, Description [Table] Options granted (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross Underlying Securities Award Underlying Securities Amount Entity Small Business Entity Small Business 2027 Finite-Lived Intangible Asset, Expected Amortization, Year Four Local Phone Number Local Phone Number Accounts receivable Increase (Decrease) in Accounts Receivable Recovery of Erroneously Awarded Compensation Disclosure [Line Items] Changes in unrealized gains (losses) on investment securities OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax Measurement Frequency [Axis] Measurement Frequency [Axis] Operating lease liabilities Operating lease liabilities Operating Lease, Liability, Noncurrent Available-for-sale Investments, by Remaining Contract Maturity Investments Classified by Contractual Maturity Date [Table Text Block] Restricted Stock Units Restricted Stock Units (RSUs) [Member] Forgone Recovery due to Violation of Home Country Law, Amount Forgone Recovery due to Violation of Home Country Law, Amount Investment securities—noncurrent Debt Securities, Available-for-Sale, Excluding Accrued Interest, Noncurrent Income Statement Location [Axis] Income Statement Location [Axis] Schedule of Minimum Lease Payments Under Leases Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block] 2025 Capitalized Computer Software, Amortization Expense, Year Two Capitalized Computer Software, Amortization Expense, Year Two Income tax payable Accrued Income Taxes, Current Product and Service [Domain] Product and Service [Domain] Other Performance Measure, Amount Other Performance Measure, Amount Aggregate Available Trading Arrangement, Securities Aggregate Available Amount Schedule of Components of Lease Expense Lease, Cost [Table Text Block] Cash from investing activities Net Cash Provided by (Used in) Investing Activities [Abstract] Research and product development Research and Development Expense [Member] Insider Trading Policies and Procedures Not Adopted Insider Trading Policies and Procedures Not Adopted [Text Block] Award Type [Axis] Award Type [Axis] Granted (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period Document Quarterly Report Document Quarterly Report Remaining stock-based compensation expense for unvested shares, not yet recognized Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] General and administrative General and Administrative Expense [Member] Weighted Average Remaining Contractual Life in Years Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term 2023 Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year Trading Arrangement: Trading Arrangement [Axis] Less: imputed interest Lessee, Operating Lease, Liability, Undiscounted Excess Amount Use of Estimates Use of Estimates, Policy [Policy Text Block] PEO Actually Paid Compensation Amount PEO Actually Paid Compensation Amount Entity File Number Entity File Number Other current liabilities Operating Lease, Liability, Current Tenant allowance, year one Tenant Improvement Allowance, Noncurrent Tenant Improvement Allowance, Noncurrent Schedule of Capitalized Computer Software Future Amortization Expense Schedule Of Capitalized Computer Software, Future Amortization Expense [Table Text Block] Schedule of Capitalized Computer Software, Future Amortization Expense [Table Text Block] Amortization expense Amortization of Intangible Assets Entity Shell Company Entity Shell Company 2026 Lessee, Operating Lease, Liability, to be Paid, Year Three Net Carrying Value Finite-Lived Intangible Assets, Net Recent Accounting Pronouncements Adopted New Accounting Pronouncements, Policy [Policy Text Block] Restatement Determination Date Restatement Determination Date Taxes payable Increase (Decrease) in Income Taxes Payable Other liabilities Increase (Decrease) in Other Operating Liabilities Rule 10b5-1 Arrangement Adopted Rule 10b5-1 Arrangement Adopted [Flag] Beginning of period End of period Total cash, cash equivalents and restricted cash Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents Accumulated Amortization Finite-Lived Intangible Assets, Accumulated Amortization 2025 Lessee, Operating Lease, Liability, to be Paid, Year Two Impairment of leased office property and equipment Impairment, Excluding Lessor Asset under Operating Lease Stock Price or TSR Estimation Method Stock Price or TSR Estimation Method [Text Block] Variable lease cost Variable Lease, Cost Operating lease cost Operating Lease, Cost Schedule of Restricted Stock Units Activity Schedule of Nonvested Restricted Stock Units Activity [Table Text Block] Vested (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period Deferred revenue Contract with Customer, Liability, Current Severance costs Severance Costs Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block] Security Exchange Name Security Exchange Name Total Assets, Fair Value Disclosure Accrued payroll and other Accrued Payroll And Other, Current Accrued Payroll And Other, Current Accumulated other comprehensive loss Accumulated Other Comprehensive Income (Loss), Net of Tax Award vesting rights, percentage Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Percentage Stock Options Employee Stock Option [Member] Class A common stock Common Class A [Member] Stock-based compensation expense, weighted average recognition period Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition Total costs and operating expenses Costs and Expenses Maximum Maximum [Member] Comprehensive loss Comprehensive Income (Loss), Net of Tax, Attributable to Parent Document Type Document Type Share-based payment award, non-option equity instruments, outstanding (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Outstanding, Number Tabular List, Table Tabular List [Table Text Block] Entity Address, Address Line One Entity Address, Address Line One Cost of revenue (exclusive of depreciation and amortization) Cost of Goods and Service, Excluding Depreciation, Depletion, and Amortization Stock-Based Compensation Share-Based Payment Arrangement [Text Block] Basis of Presentation and Significant Accounting Policies Basis of Accounting, Policy [Policy Text Block] Other Other Noncash Income (Expense) Purchases of available-for-sale investments Payments to Acquire Debt Securities, Available-for-Sale Weighted Average Exercise Price per Share Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract] 2023 Capitalized Computer Software, Amortization Expense, Remainder Of Fiscal Year Capitalized Computer Software, Amortization Expense, Remainder Of Fiscal Year Remaining performance obligation, percentage Revenue, Remaining Performance Obligation, Percentage Trademarks and trade names Trademarks and Trade Names [Member] Restricted cash included in other assets Restricted Cash, Noncurrent Schedule of Finite-Lived Intangible Assets Schedule of Finite-Lived Intangible Assets [Table Text Block] Other current liabilities Other Liabilities, Current Income Statement [Abstract] Income Statement [Abstract] Costs and operating expenses: Costs and Expenses [Abstract] Title of 12(b) Security Title of 12(b) Security Capitalized software development costs Capitalized Computer Software, Additions Amortized Cost Debt Securities, Available-for-Sale, Amortized Cost, Excluding Accrued Interest, after Allowance for Credit Loss Insider Trading Policies and Procedures Adopted Insider Trading Policies and Procedures Adopted [Flag] Less: Weighted average unvested restricted shares subject to repurchase (in shares) Weighted Average Number of Shares, Restricted Stock Cash equivalents: Cash and Cash Equivalents, Fair Value Disclosure Aggregate Erroneous Compensation Not Yet Determined Aggregate Erroneous Compensation Not Yet Determined [Text Block] Unvested, beginning balance (in dollars per share) Unvested, ending balance (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value Income Tax Disclosure [Abstract] Income Tax Disclosure [Abstract] Forgone Recovery due to Expense of Enforcement, Amount Forgone Recovery due to Expense of Enforcement, Amount Share-based Payment Arrangement [Abstract] Share-Based Payment Arrangement [Abstract] Entity Tax Identification Number Entity Tax Identification Number Total lease cost Lease, Cost Stock-based compensation capitalized for software development Share-Based Payment Arrangement, Amount Capitalized Statistical Measurement [Axis] Statistical Measurement [Axis] Financial Instrument [Axis] Financial Instrument [Axis] Entity Interactive Data Current Entity Interactive Data Current Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Schedule of Sales, Calls, and Maturities Schedule of Realized Gain (Loss) [Table Text Block] Schedule of Available-for-sale Securities [Table] Debt Securities, Available-for-Sale [Table] Total Shareholder Return Amount Total Shareholder Return Amount Reconciliation of cash, cash equivalents and restricted cash [Abstract] Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents [Abstract] Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Adjustment To PEO Compensation, Footnote Adjustment To PEO Compensation, Footnote [Text Block] 2026 Capitalized Computer Software, Amortization Expense, Year Three Capitalized Computer Software, Amortization Expense, Year Three Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Retained earnings Retained Earnings (Accumulated Deficit) Measure: Measure [Axis] Commitments and Contingencies Disclosure [Abstract] Commitments and Contingencies Disclosure [Abstract] Issuance of restricted stock awards (in shares) Stock Issued During Period, Shares, Restricted Stock Award, Gross Name Outstanding Recovery, Individual Name Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Current assets Assets, Current [Abstract] Leases [Abstract] Leases [Abstract] Entity Address, State or Province Entity Address, State or Province Compensation Actually Paid vs. Total Shareholder Return Compensation Actually Paid vs. Total Shareholder Return [Text Block] Cash from operating activities Net Cash Provided by (Used in) Operating Activities [Abstract] 2024 Finite-Lived Intangible Asset, Expected Amortization, Year One Operating lease, payments Operating Lease, Payments Beginning balance (in shares) Ending balance (in shares) Common Stock, Shares, Outstanding Proceeds from maturities of available-for-sale investments Gross Proceeds from Maturities Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-Sale PEO PEO [Member] Gain on lease modification Gain (loss) on modification of lease Gain (Loss) On Modification Of Lease Gain (Loss) On Modification Of Lease Severance payments Payments for Postemployment Benefits Net cash used in investing activities Net Cash Provided by (Used in) Investing Activities Class of Stock [Domain] Class of Stock [Domain] Number of Shares Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward] Outstanding Aggregate Erroneous Compensation Amount Outstanding Aggregate Erroneous Compensation Amount Effective income tax rate, percent Effective Income Tax Rate Reconciliation, Percent Total lease liabilities Total Operating Lease, Liability Conversion of Class B common stock to Class A common stock (in shares) Conversion of Stock, Shares Converted Total liabilities Liabilities Expected volatility Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate Total Shareholder Return Vs Peer Group Total Shareholder Return Vs Peer Group [Text Block] Vesting [Domain] Vesting [Domain] Prepaid expenses and other current assets Increase (Decrease) in Prepaid Expense and Other Assets Accumulated Other Comprehensive Income (Loss) AOCI Attributable to Parent [Member] Aggregate Erroneous Compensation Amount Aggregate Erroneous Compensation Amount Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Measurement Frequency [Domain] Measurement Frequency [Domain] All Executive Categories All Executive Categories [Member] Accrued bonuses Accrued Bonuses, Current Non-Rule 10b5-1 Arrangement Adopted Non-Rule 10b5-1 Arrangement Adopted [Flag] Sales and marketing Selling and Marketing Expense Common stock Common Stock, Value, Issued General and administrative General and Administrative Expense Due after one year through three years Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, after Year One Through Five Debt securities, available-for-sale, allowance for credit loss, excluding accrued Interest Debt Securities, Available-for-Sale, Allowance for Credit Loss, Excluding Accrued Interest Organization, Consolidation and Presentation of Financial Statements [Abstract] Organization, Consolidation and Presentation of Financial Statements [Abstract] Amortization of operating lease right-of-use assets Operating Lease, Right-of-Use Asset, Periodic Reduction Weighted Average Grant Date Fair Value per Share Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract] Awards Close in Time to MNPI Disclosures, Table Awards Close in Time to MNPI Disclosures [Table Text Block] Total current assets Assets, Current Impairment, net Asset Impairment Charges Revenue from Contract with Customer [Abstract] All Individuals All Individuals [Member] Janet Kerr [Member] Janet Kerr Other (loss) income, net Other Nonoperating Income (Expense) Entity Filer Category Entity Filer Category Depreciation and amortization Cost, Depreciation and Amortization Non-PEO NEO Average Total Compensation Amount Non-PEO NEO Average Total Compensation Amount Statement [Table] Statement [Table] Current Fiscal Year End Date Current Fiscal Year End Date Net Loss per Common Share Earnings Per Share, Policy [Policy Text Block] Intangible Assets, net Goodwill and Intangible Assets Disclosure [Text Block] PEO Name PEO Name Granted (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value Treasury securities US Treasury and Government [Member] Net cash (used in) provided by operating activities Net Cash Provided by (Used in) Operating Activities Schedule of Finite-Lived Intangible Assets, Future Amortization Expense Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] Class of Stock [Axis] Class of Stock [Axis] Erroneously Awarded Compensation Recovery Erroneously Awarded Compensation Recovery [Table] Nature of Business Nature of Operations [Text Block] Depreciation and amortization Depreciation, Depletion and Amortization RSUs and PSUs Restricted Stock Units And Performance Stock Units [Member] Restricted Stock Units And Performance Stock Units [Member] Capitalization of software development costs Payments to Develop Software Award Timing, How MNPI Considered Award Timing, How MNPI Considered [Text Block] Accrued employee expenses Increase (Decrease) in Employee Related Liabilities Statement of Financial Position [Abstract] Statement of Financial Position [Abstract] Total stockholders’ equity Beginning balance Ending balance Equity, Attributable to Parent Gross Realized Gains Debt Securities, Available-for-Sale, Realized Gain Schedule of Finite-Lived Intangible Assets [Table] Schedule of Finite-Lived Intangible Assets [Table] Unvested RSAs Restricted Stock Awards Restricted Stock [Member] Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] Revenue recognized from deferred revenue Contract with Customer, Liability, Revenue Recognized Measurement period Share-Based Compensation Arrangement By Share-Based Payment Award, Measurement Period Share-Based Compensation Arrangement By Share-Based Payment Award, Measurement Period Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Domain names Internet Domain Names [Member] Other Other Services [Member] Other Services [Member] Expected term (in years) Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term Income (loss) before provision for income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Thereafter Finite-Lived Intangible Asset, Expected Amortization, after Year Four Finite-Lived Intangible Asset, Expected Amortization, after Year Four Accrued Employee Expenses Compensation Related Costs, General [Text Block] Level 2 Fair Value, Inputs, Level 2 [Member] Entity Emerging Growth Company Entity Emerging Growth Company Schedule of Accrued Employee Expenses Schedule of Accrued Employee Expenses [Table Text Block] Schedule of Accrued Employee Expenses Intangible assets, net Intangible Assets, Net (Excluding Goodwill) Increase (Decrease) in Stockholders' Equity [Roll Forward] Increase (Decrease) in Stockholders' Equity [Roll Forward] Named Executive Officers, Footnote Named Executive Officers, Footnote [Text Block] Investment securities—current Debt Securities, Available-for-Sale, Excluding Accrued Interest, Current Document Fiscal Period Focus Document Fiscal Period Focus Weighted Average Useful Life in Years Finite-Lived Intangible Asset, Useful Life Pay vs Performance Disclosure, Table Pay vs Performance [Table Text Block] 2027 Lessee, Operating Lease, Liability, to be Paid, Year Four Title Trading Arrangement, Individual Title Options outstanding, beginning balance (in dollars per share) Options outstanding, ending balance (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price Stock-based compensation, including as amortized Share-Based Payment Arrangement, Noncash Expense Weighted Average Weighted Average [Member] Common Stock Common Stock [Member] Individual: Individual [Axis] City Area Code City Area Code Entity Address, Postal Zip Code Entity Address, Postal Zip Code Product and Service [Axis] Product and Service [Axis] Income Statement Location [Domain] Income Statement Location [Domain] Capitalized computer software, disposals Capitalized Computer Software, Disposals Capitalized Computer Software, Disposals Estimated Fair Value Debt Securities, Available-for-Sale, Maturity, Allocated and Single Maturity Date, Fair Value [Abstract] Document Fiscal Year Focus Document Fiscal Year Focus Lease term Lessee, Operating Lease, Term of Contract Accrued vacation Accrued Vacation, Current Minimum Minimum [Member] Property and equipment, net Property, Plant and Equipment, Net Summary of Stock Option Activity Share-Based Payment Arrangement, Option, Activity [Table Text Block] Exercise Price Award Exercise Price Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] Other comprehensive loss Other Comprehensive Income (Loss), Net of Tax Restricted Stock Units With Service Conditions Restricted Stock Units With Service Conditions [Member] Restricted Stock Units With Service Conditions Statement of Cash Flows [Abstract] Statement of Cash Flows [Abstract] Assets Assets [Abstract] Award Timing MNPI Disclosure Award Timing MNPI Disclosure [Text Block] Goodwill and Intangible Assets Disclosure [Abstract] Goodwill and Intangible Assets Disclosure [Abstract] Available-for-sale Securities, Debt Maturities [Abstract] Available-for-Sale Securities, Debt Maturities [Abstract] Operating lease liabilities Increase (Decrease) in Operating Lease Liability Tax withholding for net share settlement Payment, Tax Withholding, Share-Based Payment Arrangement Treasury securities Treasury securities US Treasury Securities [Member] Net cash used in financing activities Net Cash Provided by (Used in) Financing Activities Fair Value, Assets Measured on Recurring Basis Fair Value, Assets Measured on Recurring Basis [Table Text Block] Lessee, Lease, Description [Line Items] Lessee, Lease, Description [Line Items] Commitments and Contingencies Commitments and Contingencies Disclosure [Text Block] Retained Earnings Retained Earnings [Member] Adjustment to Non-PEO NEO Compensation Footnote Adjustment to Non-PEO NEO Compensation Footnote [Text Block] Total liabilities and stockholders’ equity Liabilities and Equity Other long-term assets Other Assets, Noncurrent Peer Group Total Shareholder Return Amount Peer Group Total Shareholder Return Amount Core solutions Core Solutions [Member] Core Solutions [Member] Risk-free interest rate Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate Net loss per common share, basic (in dollars per share) Earnings Per Share, Basic Operating lease right-of-use assets Operating lease right-of-use assets Operating Lease, Right-of-Use Asset Remaining stock-based compensation expense for unvested options, not yet recognized Share-Based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount Value Added Services Value Plus Services [Member] Value Plus Services [Member] Accounting Policies [Abstract] Accounting Policies [Abstract] Equity Valuation Assumption Difference, Footnote Equity Valuation Assumption Difference, Footnote [Text Block] Erroneous Compensation Analysis Erroneous Compensation Analysis [Text Block] Arrangement Duration Trading Arrangement Duration Entity Address, City or Town Entity Address, City or Town Award Timing MNPI Considered Award Timing MNPI Considered [Flag] Partner relationships Partner Relationships [Member] Partner Relationships [Member] Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration] Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration] Accrued expenses Increase (Decrease) in Other Accrued Liabilities Document Transition Report Document Transition Report Award Timing Predetermined Award Timing Predetermined [Flag] Termination Date Trading Arrangement Termination Date Accounts payable Increase (Decrease) in Accounts Payable Amortization expense Capitalized Computer Software, Amortization Less: Accumulated amortization Capitalized Computer Software, Accumulated Amortization Document Information [Table] Document Information [Table] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Gross Unrealized Gains Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax Years Ending December 31, Capitalized Computer Software, Net [Abstract] Adjustments to reconcile net loss to net cash (used in) provided by operating activities: Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] All Trading Arrangements All Trading Arrangements [Member] Due in one year or less Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year One All Adjustments to Compensation All Adjustments to Compensation [Member] Award Timing Disclosures [Line Items] Quota share of tenant liability insurance provided, percent Reinsurance, Reinsured Risk, Percentage Compensation Amount Outstanding Recovery Compensation Amount Per incident policy limit Property, Liability And Casualty Insurance, Per Incident And Per Residence Coverage Limit Property, Liability And Casualty Insurance, Per Incident And Per Residence Coverage Limit Vesting of restricted stock units, net of shares withheld for taxes Restricted Stock Units, Value, Shares Issued Net Of Tax Withholdings Restricted Stock Units, Value, Shares Issued Net Of Tax Withholdings Additional paid-in capital Additional Paid in Capital Tenant allowance, remainder of fiscal year Tenant Improvement Allowance, Current Tenant Improvement Allowance, Current Other comprehensive income (loss): Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract] Schedule of Capitalized Computer Software Schedule Of Capitalized Computer Software [Table Text Block] Schedule Of Capitalized Computer Software [Table Text Block] Forfeited (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value Document Information [Line Items] Document Information [Line Items] Proceeds from stock option exercises Proceeds from Stock Options Exercised Statement of Comprehensive Income [Abstract] Statement of Comprehensive Income [Abstract] Tranche three Share-Based Payment Arrangement, Tranche Three [Member] Prepaid expenses and other current assets Prepaid Expense and Other Assets, Current 2026 Finite-Lived Intangible Asset, Expected Amortization, Year Three Forfeited (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period Technology Technology [Member] Technology [Member] Insider Trading Arrangements [Line Items] Cash, cash equivalents and restricted cash Cash and Cash Equivalents, at Carrying Value [Abstract] Entity Registrant Name Entity Registrant Name Material Terms of Trading Arrangement Material Terms of Trading Arrangement [Text Block] Award Timing Method Award Timing Method [Text Block] Other assets Increase (Decrease) in Other Operating Assets 2025 Finite-Lived Intangible Asset, Expected Amortization, Year Two Adjustment to Compensation, Amount Adjustment to Compensation Amount Tranche two Tranche two Share-Based Payment Arrangement, Tranche Two [Member] Cost of revenue (exclusive of depreciation and amortization) Cost of Sales [Member] Document Period End Date Document Period End Date Compensation Actually Paid vs. Net Income Compensation Actually Paid vs. Net Income [Text Block] Peer Group Issuers, Footnote Peer Group Issuers, Footnote [Text Block] Adoption Date Trading Arrangement Adoption Date Treasury Stock Treasury Stock, Common [Member] Entity Central Index Key Entity Central Index Key Percent of targeted performance metric Share-based Compensation Arrangements By Share-Based Payment Award, Percent Of Award Target Performance Metric Share-based Compensation Arrangements By Share-Based Payment Award, Percent Of Award Target Performance Metric Restricted Stock Units with Service and Performance Conditions Restricted Stock Units with Service and Performance Conditions [Member] Restricted Stock Units with Service and Performance Conditions Summary of Significant Accounting Policies Basis of Presentation and Significant Accounting Policies [Text Block] Total stock-based compensation expense Stock-based compensation expense Share-Based Payment Arrangement, Expense Non-Rule 10b5-1 Arrangement Terminated Non-Rule 10b5-1 Arrangement Terminated [Flag] Gross Carrying Value Finite-Lived Intangible Assets, Gross Provision for (benefit from) income taxes Income tax expense (benefit) Income Tax Expense (Benefit) Accrued employee expenses Total accrued employee expenses Employee-related Liabilities, Current Vesting [Axis] Vesting [Axis] Name Trading Arrangement, Individual Name Schedule of Product Information by Revenue Categories Disaggregation of Revenue [Table Text Block] Debt Securities, Available-for-sale [Line Items] Debt Securities, Available-for-Sale [Line Items] Lease Assets and Liabilities Lease Assets And Liabilities [Table Text Block] Lease Assets And Liabilities Revenue Total revenue Revenue from Contract with Customer, Excluding Assessed Tax Compensation Actually Paid vs. Company Selected Measure Compensation Actually Paid vs. Company Selected Measure [Text Block] Amendment Flag Amendment Flag Money market funds Money Market Funds [Member] Cash and Cash Equivalents [Axis] Cash and Cash Equivalents [Axis] Cash and cash equivalents Cash and cash equivalents Cash and Cash Equivalents, at Carrying Value Percent of cash bonus payments on initial targets, percent Share-Based Compensation Arrangements By Share-Based Payment Award, Percent Of Cash Bonus Payment On Initial Targets Share-Based Compensation Arrangements By Share-Based Payment Award, Percent Of Cash Bonus Payment On Initial Targets Interest income, net Interest Income (Expense), Net Due in one year or less Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One PSUs Performance Stock Units [Member] Performance Stock Units [Member] Compensation Actually Paid vs. Other Measure Compensation Actually Paid vs. Other Measure [Text Block] 2023 Lessee, Operating Lease, Liability, To Be Paid, Remainder Of Fiscal Year, Net Of Tenant Allowance Lessee, Operating Lease, Liability, To Be Paid, Remainder Of Fiscal Year, Net Of Tenant Allowance Sales and marketing Selling and Marketing Expense [Member] Proceeds from sale of equity-method investment Proceeds from Sale of Equity Method Investments Weighted average common shares outstanding, diluted (in shares) Weighted average common shares outstanding; diluted (in shares) Weighted Average Number of Shares Outstanding, Diluted Forgone Recovery, Explanation of Impracticability Forgone Recovery, Explanation of Impracticability [Text Block] Capitalized software development costs, gross Capitalized Computer Software, Gross Revenue and Other Information Revenue from Contract with Customer [Text Block] Weighted average common shares outstanding (in shares) Weighted Average Number of Shares Issued, Basic Gross Realized Losses Debt Securities, Available-for-Sale, Realized Loss Purchases of property and equipment Payments to Acquire Property, Plant, and Equipment Company Selected Measure Amount Company Selected Measure Amount Additional Paid-in Capital Additional Paid-in Capital [Member] Total assets Assets Name Awards Close in Time to MNPI Disclosures, Individual Name Liability for reported claims and claims incurred but not reported Liability for Claims and Claims Adjustment Expense, Property-Casualty Liability Cover [Abstract] Cover [Abstract] Stock-based compensation APIC, Share-Based Payment Arrangement, Increase for Cost Recognition Fair value, recurring measurements Fair Value, Recurring [Member] Other liabilities Other Liabilities, Noncurrent Vested (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value Non-NEOs Non-NEOs [Member] Total future minimum lease payments Lessee, Operating Lease, Liability, to be Paid Remaining performance obligation, amount Revenue, Remaining Performance Obligation, Amount 2024 Lessee, Operating Lease, Liability, To Be Paid, Year One, Net Of Tenant Allowance Lessee, Operating Lease, Liability, To Be Paid, Year One, Net Of Tenant Allowance Net decrease in cash, cash equivalents and restricted cash Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Cash from financing activities Net Cash Provided by (Used in) Financing Activities [Abstract] Non-PEO NEO Non-PEO NEO [Member] Equity Component [Domain] Equity Component [Domain] Adjustment to Compensation: Adjustment to Compensation [Axis] Non-GAAP Measure Description Non-GAAP Measure Description [Text Block] Weighted average common shares outstanding, basic (in shares) Weighted average common shares outstanding; basic (in shares) Weighted Average Number of Shares Outstanding, Basic Entity Current Reporting Status Entity Current Reporting Status Loss from operations Operating Income (Loss) Reclassification Reclassification, Comparability Adjustment [Policy Text Block] Database Database [Member] Database [Member] Agency securities Agency securities Agency securities Agency Securities [Member] Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract] Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract] Thereafter Lessee, Operating Lease, Liability, to be Paid, After Year Four Lessee, Operating Lease, Liability, to be Paid, After Year Four Pay vs Performance Disclosure Pay vs Performance Disclosure [Table] Statement [Line Items] Statement [Line Items] Forgone Recovery due to Disqualification of Tax Benefits, Amount Forgone Recovery due to Disqualification of Tax Benefits, Amount Awards Close in Time to MNPI Disclosures Awards Close in Time to MNPI Disclosures [Table] Customer relationships Customer Relationships [Member] Tranche one Share-Based Payment Arrangement, Tranche One [Member] Capitalized software development costs, net Capitalized software development costs, net Capitalized Computer Software, Net EX-101.PRE 9 appf-20230630_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT XML 10 R1.htm IDEA: XBRL DOCUMENT v3.23.2
Cover Page - shares
6 Months Ended
Jun. 30, 2023
Jul. 20, 2023
Document Information [Line Items]    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Jun. 30, 2023  
Document Transition Report false  
Entity File Number 001-37468  
Entity Registrant Name AppFolio, Inc.  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 26-0359894  
Entity Address, Address Line One 70 Castilian Drive  
Entity Address, City or Town Santa Barbara,  
Entity Address, State or Province CA  
Entity Address, Postal Zip Code 93117  
City Area Code 805  
Local Phone Number 364-6093  
Title of 12(b) Security Class A common stock, $0.0001 par value  
Trading Symbol APPF  
Security Exchange Name NASDAQ  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Large Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Central Index Key 0001433195  
Current Fiscal Year End Date --12-31  
Document Fiscal Year Focus 2023  
Document Fiscal Period Focus Q2  
Amendment Flag false  
Class A common stock    
Document Information [Line Items]    
Entity Common Stock, Shares Outstanding   20,925,280
Class B common stock    
Document Information [Line Items]    
Entity Common Stock, Shares Outstanding   14,719,225
XML 11 R2.htm IDEA: XBRL DOCUMENT v3.23.2
Condensed Consolidated Balance Sheets - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Current assets    
Cash and cash equivalents $ 24,698 $ 70,769
Investment securities—current 139,273 89,297
Accounts receivable, net 20,033 16,503
Prepaid expenses and other current assets 25,478 24,899
Total current assets 209,482 201,468
Investment securities—noncurrent 0 25,161
Property and equipment, net 26,635 26,110
Operating lease right-of-use assets 20,308 23,485
Capitalized software development costs, net 26,857 35,315
Goodwill 56,060 56,060
Intangible assets, net 3,593 4,833
Other long-term assets 8,424 8,785
Total assets 351,359 381,217
Current liabilities    
Accounts payable 1,532 2,473
Accrued employee expenses 31,447 34,376
Accrued expenses 18,560 15,601
Income tax payable 13,485 0
Other current liabilities 9,687 8,893
Total current liabilities 74,711 61,343
Operating lease liabilities 39,554 50,237
Other liabilities 11,141 4,091
Total liabilities 125,406 115,671
Commitments and contingencies (Note 8)
Stockholders’ equity:    
Additional paid-in capital 223,025 209,704
Accumulated other comprehensive loss (587) (1,684)
Treasury stock (25,756) (25,756)
Retained earnings 29,267 83,278
Total stockholders’ equity 225,953 265,546
Total liabilities and stockholders’ equity 351,359 381,217
Class A common stock    
Stockholders’ equity:    
Common stock 2 2
Class B common stock    
Stockholders’ equity:    
Common stock $ 2 $ 2
XML 12 R3.htm IDEA: XBRL DOCUMENT v3.23.2
Condensed Consolidated Statements of Operations - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Income Statement [Abstract]        
Revenue $ 147,075 $ 117,450 $ 283,175 $ 222,746
Costs and operating expenses:        
Cost of revenue (exclusive of depreciation and amortization) [1] 57,854 47,430 114,062 90,777
Sales and marketing [1] 27,002 26,995 56,400 51,914
Research and product development [1] 37,263 26,687 74,925 51,007
General and administrative [1] 18,819 37,947 50,510 56,911
Depreciation and amortization 6,816 8,321 14,487 16,736
Total costs and operating expenses 147,754 147,380 310,384 267,345
Loss from operations (679) (29,930) (27,209) (44,599)
Other (loss) income, net (54) 45 (34) 35
Interest income, net 1,478 151 2,839 258
Income (loss) before provision for income taxes 745 (29,734) (24,404) (44,306)
Provision for (benefit from) income taxes 19,646 236 29,607 (49)
Net loss $ (18,901) $ (29,970) $ (54,011) $ (44,257)
Net loss per common share, basic (in dollars per share) $ (0.53) $ (0.86) $ (1.52) $ (1.27)
Net loss per common share, diluted (in dollars per share) $ (0.53) $ (0.86) $ (1.52) $ (1.27)
Weighted average common shares outstanding, basic (in shares) 35,565,000 34,927,000 35,505,000 34,881,000
Weighted average common shares outstanding, diluted (in shares) 35,565,000 34,927,000 35,505,000 34,881,000
[1] Includes stock-based compensation expense as follows:
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
Stock-based compensation expense included in costs and operating expenses:
Cost of revenue (exclusive of depreciation and amortization)$988 $726 $1,756 $1,084 
Sales and marketing444 2,013 2,861 3,473 
Research and product development4,348 4,024 9,787 6,830 
General and administrative4,992 3,198 10,271 5,992 
Total stock-based compensation expense$10,772 $9,961 $24,675 $17,379 
XML 13 R4.htm IDEA: XBRL DOCUMENT v3.23.2
Condensed Consolidated Statements of Operations (Parenthetical) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Total stock-based compensation expense $ 10,772 $ 9,961 $ 24,675 $ 17,379
Cost of revenue (exclusive of depreciation and amortization)        
Total stock-based compensation expense 988 726 1,756 1,084
Sales and marketing        
Total stock-based compensation expense 444 2,013 2,861 3,473
Research and product development        
Total stock-based compensation expense 4,348 4,024 9,787 6,830
General and administrative        
Total stock-based compensation expense $ 4,992 $ 3,198 $ 10,271 $ 5,992
XML 14 R5.htm IDEA: XBRL DOCUMENT v3.23.2
Consolidated Statements of Comprehensive Loss - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Statement of Comprehensive Income [Abstract]        
Net (loss) income $ (18,901) $ (29,970) $ (54,011) $ (44,257)
Other comprehensive income (loss):        
Changes in unrealized gains (losses) on investment securities 334 (400) 1,097 (1,745)
Comprehensive loss $ (18,567) $ (30,370) $ (52,914) $ (46,002)
XML 15 R6.htm IDEA: XBRL DOCUMENT v3.23.2
Condensed Consolidated Statements of Stockholders' Equity - USD ($)
$ in Thousands
Total
Common Stock
Class A common stock
Common Stock
Class B common stock
Additional Paid-in Capital
Accumulated Other Comprehensive Income (Loss)
Treasury Stock
Retained Earnings
Beginning balance (in shares) at Dec. 31, 2021   19,417,000 15,408,000        
Beginning balance at Dec. 31, 2021 $ 297,381 $ 2 $ 2 $ 171,930 $ (194) $ (25,756) $ 151,397
Increase (Decrease) in Stockholders' Equity [Roll Forward]              
Exercise of stock options (in shares)   17,000          
Exercise of stock options 100     100      
Stock-based compensation 7,967     7,967      
Vesting of restricted stock units, net of shares withheld for taxes (in shares)   17,000          
Vesting of restricted stock units, net of shares withheld for taxes (1,073)     (1,073)      
Conversion of Class B common stock to Class A common stock (in shares)   572,000 (572,000)        
Other comprehensive loss (1,345)       (1,345)    
Net (loss) income (14,287)           (14,287)
Ending balance (in shares) at Mar. 31, 2022   20,023,000 14,836,000        
Ending balance at Mar. 31, 2022 288,743 $ 2 $ 2 178,924 (1,539) (25,756) 137,110
Beginning balance (in shares) at Dec. 31, 2021   19,417,000 15,408,000        
Beginning balance at Dec. 31, 2021 297,381 $ 2 $ 2 171,930 (194) (25,756) 151,397
Increase (Decrease) in Stockholders' Equity [Roll Forward]              
Net (loss) income (44,257)            
Ending balance (in shares) at Jun. 30, 2022   20,173,000 14,826,000        
Ending balance at Jun. 30, 2022 264,991 $ 2 $ 2 185,542 (1,939) (25,756) 107,140
Beginning balance (in shares) at Mar. 31, 2022   20,023,000 14,836,000        
Beginning balance at Mar. 31, 2022 288,743 $ 2 $ 2 178,924 (1,539) (25,756) 137,110
Increase (Decrease) in Stockholders' Equity [Roll Forward]              
Exercise of stock options (in shares)   41,000 27,000        
Exercise of stock options 503     503      
Stock-based compensation 10,639     10,639      
Vesting of restricted stock units, net of shares withheld for taxes (in shares)   66,000          
Vesting of restricted stock units, net of shares withheld for taxes (4,524)     (4,524)      
Conversion of Class B common stock to Class A common stock (in shares)   37,000 (37,000)        
Issuance of restricted stock awards (in shares)   6,000          
Other comprehensive loss (400)       (400)    
Net (loss) income (29,970)           (29,970)
Ending balance (in shares) at Jun. 30, 2022   20,173,000 14,826,000        
Ending balance at Jun. 30, 2022 264,991 $ 2 $ 2 185,542 (1,939) (25,756) 107,140
Beginning balance (in shares) at Dec. 31, 2022   20,569,000 14,746,000        
Beginning balance at Dec. 31, 2022 265,546 $ 2 $ 2 209,704 (1,684) (25,756) 83,278
Increase (Decrease) in Stockholders' Equity [Roll Forward]              
Exercise of stock options (in shares)   64,000          
Exercise of stock options 834     834      
Stock-based compensation 14,075     14,075      
Vesting of restricted stock units, net of shares withheld for taxes (in shares)   79,000          
Vesting of restricted stock units, net of shares withheld for taxes (5,539)     (5,539)      
Conversion of Class B common stock to Class A common stock (in shares)   27,000 (27,000)        
Issuance of restricted stock awards (in shares)   2,000          
Other comprehensive loss 763       763    
Net (loss) income (35,110)           (35,110)
Ending balance (in shares) at Mar. 31, 2023   20,741,000 14,719,000        
Ending balance at Mar. 31, 2023 240,569 $ 2 $ 2 219,074 (921) (25,756) 48,168
Beginning balance (in shares) at Dec. 31, 2022   20,569,000 14,746,000        
Beginning balance at Dec. 31, 2022 $ 265,546 $ 2 $ 2 209,704 (1,684) (25,756) 83,278
Increase (Decrease) in Stockholders' Equity [Roll Forward]              
Exercise of stock options (in shares) 159,000            
Net (loss) income $ (54,011)            
Ending balance (in shares) at Jun. 30, 2023   20,922,000 14,719,000        
Ending balance at Jun. 30, 2023 225,953 $ 2 $ 2 223,025 (587) (25,756) 29,267
Beginning balance (in shares) at Mar. 31, 2023   20,741,000 14,719,000        
Beginning balance at Mar. 31, 2023 240,569 $ 2 $ 2 219,074 (921) (25,756) 48,168
Increase (Decrease) in Stockholders' Equity [Roll Forward]              
Exercise of stock options (in shares)   95,000          
Exercise of stock options 668     668      
Stock-based compensation 11,000     11,000      
Vesting of restricted stock units, net of shares withheld for taxes (in shares)   82,000          
Vesting of restricted stock units, net of shares withheld for taxes (7,717)     (7,717)      
Issuance of restricted stock awards (in shares)   4,000          
Other comprehensive loss 334       334    
Net (loss) income (18,901)           (18,901)
Ending balance (in shares) at Jun. 30, 2023   20,922,000 14,719,000        
Ending balance at Jun. 30, 2023 $ 225,953 $ 2 $ 2 $ 223,025 $ (587) $ (25,756) $ 29,267
XML 16 R7.htm IDEA: XBRL DOCUMENT v3.23.2
Condensed Consolidated Statements of Cash Flows - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Cash from operating activities    
Net loss $ (54,011) $ (44,257)
Adjustments to reconcile net loss to net cash (used in) provided by operating activities:    
Depreciation and amortization 13,135 15,637
Amortization of operating lease right-of-use assets 1,109 1,809
Impairment, net 0 19,792
Gain on lease modification (4,281) 0
Deferred income taxes 9 (1,550)
Stock-based compensation, including as amortized 26,027 18,478
Other (717) 6
Changes in operating assets and liabilities:    
Accounts receivable (3,530) (2,924)
Prepaid expenses and other current assets (2,429) (2,652)
Other assets 363 (1,308)
Accounts payable (989) 17
Accrued employee expenses (2,719) (3,217)
Accrued expenses 2,170 3,182
Taxes payable 25,152 52
Operating lease liabilities (4,638) (1,311)
Other liabilities (2,308) 1,527
Net cash (used in) provided by operating activities (7,657) 3,281
Cash from investing activities    
Purchases of available-for-sale investments (73,597) (44,900)
Proceeds from sales of available-for-sale investments 1,013 0
Proceeds from maturities of available-for-sale investments 49,617 43,498
Purchases of property and equipment (2,171) (5,099)
Capitalization of software development costs (2,151) (7,193)
Proceeds from sale of equity-method investment 629 0
Net cash used in investing activities (26,660) (13,694)
Cash from financing activities    
Proceeds from stock option exercises 1,502 603
Tax withholding for net share settlement (13,256) (5,597)
Net cash used in financing activities (11,754) (4,994)
Net decrease in cash, cash equivalents and restricted cash (46,071) (15,407)
Cash, cash equivalents and restricted cash    
Beginning of period 71,019 58,283
End of period 24,948 42,876
Reconciliation of cash, cash equivalents and restricted cash [Abstract]    
Cash and cash equivalents 24,698 42,626
Restricted cash included in other assets 250 250
Total cash, cash equivalents and restricted cash $ 24,948 $ 42,876
XML 17 R8.htm IDEA: XBRL DOCUMENT v3.23.2
Nature of Business
6 Months Ended
Jun. 30, 2023
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Nature of Business Nature of BusinessAppFolio, Inc. ("we," "us" or "our") is a leading provider of cloud business management solutions for the real estate industry. Our solutions are designed to enable our customers to digitally transform their businesses, address critical business operations and deliver a better customer experience. Digital transformation is effectively a requirement for business success in the modern world, and the way we work and live requires powerful software solutions.
XML 18 R9.htm IDEA: XBRL DOCUMENT v3.23.2
Summary of Significant Accounting Policies
6 Months Ended
Jun. 30, 2023
Accounting Policies [Abstract]  
Summary of Significant Accounting Policies Summary of Significant Accounting Policies
Basis of Presentation and Significant Accounting Policies
The accompanying unaudited Condensed Consolidated Financial Statements were prepared in accordance with accounting principles generally accepted in the United States (“GAAP”) for interim financial information. Certain information and disclosures normally included in consolidated financial statements prepared in accordance with GAAP have been condensed or omitted. Accordingly, these Condensed Consolidated Financial Statements should be read in conjunction with our audited consolidated financial statements and the related notes included in our Annual Report, which was filed with the SEC on February 9, 2023. The year-end condensed balance sheet was derived from our audited consolidated financial statements. Our unaudited interim Condensed Consolidated Financial Statements include, in the opinion of management, all adjustments, consisting of normal and recurring items, necessary for the fair statement of our Condensed Consolidated Financial Statements. The operating results for the six months ended June 30, 2023 are not necessarily indicative of the results expected for the full year ending December 31, 2023.
Reclassification
We reclassified certain amounts in our Condensed Consolidated Statements of Cash Flows within the cash flows from operating activities section in the prior year to conform to the current year's presentation.
Use of Estimates
The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the dates of the financial statements, and the reported amounts of revenue, expenses, other income, and provision for income taxes during the reporting period. Assets and liabilities which are subject to judgment and use of estimates include the fair value of financial instruments, capitalized software development costs, period of benefit associated with deferred costs, incremental borrowing rate used to measure operating lease liabilities, the recoverability of goodwill and long-lived assets, income taxes, useful lives associated with property and equipment and intangible assets, contingencies, assumptions underlying performance-based compensation (whether cash or stock-based), and assumptions underlying stock-based compensation. Actual results could differ from those estimates and any such differences may have a material impact on our Condensed Consolidated Financial Statements.
Net Loss per Common Share
Net loss per common share was the same for shares of our Class A and Class B common stock because they are entitled to the same liquidation and dividend rights and are therefore combined in the table below. The following table presents a reconciliation of the weighted average number of shares of our Class A and Class B common stock used to compute net loss per common share (in thousands):
 Three Months Ended
June 30,
Six Months Ended
June 30,
 2023202220232022
Weighted average common shares outstanding35,573 34,931 35,512 34,885 
Less: Weighted average unvested restricted shares subject to repurchase
Weighted average common shares outstanding; basic and diluted35,565 34,927 35,505 34,881 
Because we reported a net loss for all periods presented, all potentially dilutive common shares are anti-dilutive for these periods and have been excluded from the calculation of net loss per share.
Recent Accounting Pronouncements Adopted
In October 2021, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") 2021-08, "Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers," which requires contract assets and contract liabilities acquired in a business combination to be recognized and measured by the acquirer on the acquisition date in accordance with ASC 606, "Revenue from Contracts with Customers," as if the acquirer had originated the contracts. ASU 2021-08 is effective for fiscal years beginning after December 15, 2022, with early adoption permitted. We adopted ASU 2021-08 on January 1, 2023. Adoption did not have an impact on our condensed consolidated financial statements.
XML 19 R10.htm IDEA: XBRL DOCUMENT v3.23.2
Investment Securities and Fair Value Measurements
6 Months Ended
Jun. 30, 2023
Fair Value Disclosures [Abstract]  
Investment Securities and Fair Value Measurements Investment Securities and Fair Value Measurements
Investment Securities
Investment securities classified as available-for-sale consisted of the following as of June 30, 2023 and December 31, 2022 (in thousands):
June 30, 2023
Amortized CostGross Unrealized GainsGross Unrealized LossesEstimated Fair Value
Corporate bonds$5,484 $— $(32)$5,452 
Agency securities11,261 — (233)11,028 
Treasury securities123,582 (797)122,793 
Total available-for-sale investment securities$140,327 $$(1,062)$139,273 
December 31, 2022
Amortized CostGross Unrealized GainsGross Unrealized LossesEstimated Fair Value
Corporate bonds$17,497 $$(112)$17,387 
Agency securities17,507 — (484)17,023 
Treasury securities81,605 — (1,557)80,048 
Total available-for-sale investment securities$116,609 $$(2,153)$114,458 
As of June 30, 2023, the decline in fair value below amortized cost basis was not considered other than temporary as it is more likely than not we will hold the securities until maturity or recovery of the cost basis. No allowance for credit losses for available-for-sale investment securities was recorded as of June 30, 2023 or December 31, 2022.
The fair values of available-for-sale investment securities, by remaining contractual maturity, are as follows (in thousands):
June 30, 2023December 31, 2022
Amortized CostEstimated Fair ValueAmortized CostEstimated Fair Value
Due in one year or less$140,327 $139,273 $90,822 $89,297 
Due after one year through three years— — 25,787 25,161 
Total available-for-sale investment securities$140,327 $139,273 $116,609 $114,458 
During the six months ended June 30, 2023 and 2022, we had sales and maturities of investment securities, as follows (in thousands):
Six Months Ended June 30, 2023
Gross Realized GainsGross Realized LossesGross Proceeds from Sales Gross Proceeds from Maturities
Corporate bonds$$— $1,013 $11,012 
Agency securities— — — 6,250 
Treasury securities— — — 32,355 
Total$$— $1,013 $49,617 
Six Months Ended June 30, 2022
Gross Realized GainsGross Realized LossesGross Proceeds from SalesGross Proceeds from Maturities
Corporate bonds$— $— $— $23,998 
Treasury securities— — — 19,500 
Total$— $— $— $43,498 
Fair Value Measurements
Recurring Fair Value Measurements
The following tables present our financial assets and liabilities measured at fair value on a recurring basis as of June 30, 2023 and December 31, 2022 by level within the fair value hierarchy (in thousands):
June 30, 2023
Level 1Level 2Total Fair
Value
Cash equivalents:
Money market funds$5,226 $— $5,226 
Treasury securities797 — 797 
Available-for-sale investment securities:
Corporate bonds— 5,452 5,452 
Agency securities— 11,028 11,028 
  Treasury securities122,793 — 122,793 
Total$128,816 $16,480 $145,296 
December 31, 2022
Level 1Level 2Total Fair
Value
Cash equivalents:
Money market funds$41,973 $— $41,973 
Treasury securities1,287 — 1,287 
Available-for-sale investment securities:
Corporate bonds— 17,387 17,387 
Agency securities— 17,023 17,023 
Treasury securities80,048 — 80,048 
Total$123,308 $34,410 $157,718 
The carrying amounts of cash and cash equivalents, restricted cash, accounts receivable, accounts payable and accrued liabilities approximate their fair value because of the short maturity of these items.
Fair value for our Level 1 investment securities is based on market prices for identical assets. Our Level 2 securities were priced by a pricing vendor. The pricing vendor utilizes the most recent observable market information in pricing these securities or, if specific prices are not available for these securities, other observable inputs like market transactions involving comparable securities are used.
XML 20 R11.htm IDEA: XBRL DOCUMENT v3.23.2
Capitalized Software Development Costs, net
6 Months Ended
Jun. 30, 2023
Research and Development [Abstract]  
Capitalized Software Development Costs, net Capitalized Software Development Costs, net
Capitalized software development costs were as follows (in thousands):
June 30,
2023
December 31,
2022
Capitalized software development costs, gross$128,142 $129,749 
Less: Accumulated amortization(101,285)(94,434)
Capitalized software development costs, net$26,857 $35,315 
Capitalized software development costs were $1.3 million and $4.2 million for the three months ended June 30, 2023 and 2022, respectively, and $2.3 million and $8.3 million for the six months ended June 30, 2023 and 2022, respectively. Amortization expense with respect to capitalized software development costs totaled $4.9 million and $6.0 million for the three months ended June 30, 2023 and 2022, respectively, and $10.8 million and $12.0 million for the six months ended June 30, 2023 and 2022, respectively. During the three and six months ended June 30, 2023, we disposed of $1.3 million and $3.5 million, respectively, of fully amortized capitalized software development costs.
Future amortization expense with respect to capitalized software development costs as of June 30, 2023 is estimated as follows (in thousands):
Years Ending December 31,
2023$8,580 
202412,042 
20255,012 
20261,223 
    Total amortization expense$26,857 
XML 21 R12.htm IDEA: XBRL DOCUMENT v3.23.2
Intangible Assets, net
6 Months Ended
Jun. 30, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Intangible Assets, net Intangible Assets, net
Intangible assets consisted of the following (in thousands, except years):
 June 30, 2023
Gross Carrying
Value
Accumulated
Amortization
Net Carrying
Value
Weighted Average Useful Life in Years
Customer relationships$1,670 $(1,559)$111 5.0
Database4,710 (2,120)2,590 10.0
Technology6,539 (6,539)— 4.0
Trademarks and trade names1,520 (1,367)153 5.0
Partner relationships680 (680)— 3.0
Non-compete agreements7,340 (6,606)734 5.0
Domain names90 (85)5.0
Patents252 (252)— 5.0
Total intangible assets, net$22,801 $(19,208)$3,593 5.8
 December 31, 2022
 Gross Carrying
Value
Accumulated
Amortization
Net Carrying
Value
Weighted Average Useful Life in Years
Customer relationships$1,670 $(1,448)$222 5.0
Database4,710 (1,884)2,826 10.0
Technology6,539 (6,539)— 4.0
Trademarks and trade names1,520 (1,211)309 5.0
Partner relationships680 (680)— 3.0
Non-compete agreements7,340 (5,872)1,468 5.0
Domain names90 (82)5.0
Patents252 (252)— 5.0
Total intangible assets, net$22,801 $(17,968)$4,833 4.7

Amortization expense with respect to intangible assets totaled $0.6 million and $1.2 million for the three months ended June 30, 2023 and 2022, respectively, and $1.2 million and $2.3 million for the six months ended June 30, 2023 and 2022, respectively. Future amortization expense with respect to intangible assets as of June 30, 2023 is estimated as follows (in thousands):
Years Ending December 31,
2023$1,236 
2024473 
2025471 
2026471 
2027471 
Thereafter471 
    Total amortization expense$3,593 
XML 22 R13.htm IDEA: XBRL DOCUMENT v3.23.2
Accrued Employee Expenses
6 Months Ended
Jun. 30, 2023
Compensation Related Costs [Abstract]  
Accrued Employee Expenses Accrued Employee Expenses
Accrued employee expenses consisted of the following (in thousands):
June 30,
2023
December 31,
2022
Accrued vacation$13,523 $12,067 
Accrued bonuses10,028 13,806 
Accrued severance515 496 
Accrued payroll and other7,381 8,007 
    Total accrued employee expenses$31,447 $34,376 
In the first quarter of 2023, we accrued $14.9 million of severance related to separation costs associated with our former Chief Executive Officer's Transition and Separation Agreement, dated March 1, 2023 ("Separation Agreement"). The $14.9 million was fully paid in the second quarter of 2023.
XML 23 R14.htm IDEA: XBRL DOCUMENT v3.23.2
Leases
6 Months Ended
Jun. 30, 2023
Leases [Abstract]  
Leases Leases
Operating leases for our corporate offices have remaining lease terms ranging from one to ten years, some of which include options to extend the leases for up to ten years. These options to extend have not been recognized as part of our operating lease right-of-use assets and lease liabilities as it is not reasonably certain that we will exercise these options. Our lease agreements do not contain any residual value guarantees or material restrictive covenants. Certain leases contain provisions for property-related costs that are variable in nature for which we are responsible, including common area maintenance, which are expensed as incurred.
The components of lease expense recognized in the Condensed Consolidated Statements of Operations were as follows (in thousands):
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
Operating lease cost$1,131 $1,468 $2,276 $2,915 
Variable lease cost448 252 1,021 375 
  Total lease cost$1,579 $1,720 $3,297 $3,290 

Lease-related assets and liabilities were as follows (in thousands):
June 30,
2023
December 31,
2022
Assets
Operating lease right-of-use assets$20,308 $23,485 
Liabilities
Other current liabilities$3,052 $3,357 
Operating lease liabilities39,554 50,237 
Total lease liabilities$42,606 $53,594 
During the second quarter of 2022, we decided to exit and make available for sublease certain leased office spaces. As a result, we recorded an impairment of $19.4 million consisting of $15.7 million related to ROU assets and $3.7 million related to property and equipment associated with our leased office spaces. These charges were recorded within General and administrative expenses in our Condensed Consolidated Statements of Operations.
In January 2023, we entered into an amendment to the lease agreement for our San Diego facility (the "San Diego Lease"). We remeasured the lease liability and recorded a reduction to the lease liability and right-of-use asset using the discount rate at the modification date, which resulted in a gain of $2.4 million in the Condensed Consolidated Statements of Operations.
In June 2023, we entered into a second amendment to reduce the rentable square footage and our future rental payment obligations under the San Diego Lease pursuant to which we made a one-time payment of $2.9 million. We again remeasured the lease liability and recorded a reduction to the lease liability using the discount rate at the modification date. As a result, we recorded a gain of $1.9 million in the Condensed Consolidated Statements of Operations.
In July 2023, we entered into an agreement to sublet one of our office spaces in Santa Barbara through December 31, 2031.
Future minimum lease payments under non-cancellable leases as of June 30, 2023 were as follows (in thousands):
Years ending December 31,
2023(1)
$(793)
2024(1)
5,063 
20256,168 
20266,345 
20276,528 
Thereafter31,090 
Total future minimum lease payments54,401 
Less: imputed interest(11,795)
Total$42,606 
(1) Future minimum lease payments for the years ending December 31, 2023 and 2024 are presented net of tenant improvement allowances of $3.7 million and $0.7 million respectively.
XML 24 R15.htm IDEA: XBRL DOCUMENT v3.23.2
Commitments and Contingencies
6 Months Ended
Jun. 30, 2023
Commitments and Contingencies Disclosure [Abstract]  
Commitments and Contingencies Commitments and Contingencies
Legal Liability to Landlord Insurance
We have a wholly owned subsidiary, Terra Mar Insurance Company, Inc., which was established in connection with reinsuring liability to landlord insurance policies offered to our customers by our third-party service provider. Each policy has a limit of $100 thousand per incident. We assume a 100% quota share of the liability to landlord insurance policies placed with our customers by our third-party service provider. We accrue for reported claims, and include an estimate of losses incurred but not reported by our property manager customers, in cost of revenue because we bear the risk related to all such claims. Our estimated liability for reported claims and incurred but not reported claims as of June 30, 2023 and December 31, 2022 was $3.2 million and $2.7 million, respectively, and is included in Other current liabilities on our Condensed Consolidated Balance Sheets.
Included in Prepaid expenses and other current assets as of June 30, 2023 and December 31, 2022 are $2.8 million and $4.5 million, respectively, of deposits held with a third party related to requirements to maintain collateral for this insurance service.
Legal Proceedings
From time to time we may become involved in various legal proceedings, investigative inquiries, and other disputes arising from or related to matters incident to the ordinary course of our business activities. We are not currently a party to any matters, nor are we aware of any pending or threatened matters, that we believe would have a material adverse effect on our business, operating results, cash flows or financial condition should such proceedings be resolved unfavorably.
Indemnification
In the ordinary course of business, we may provide indemnification of varying scope and terms to customers, business partners, investors, directors, officers, and other parties with respect to certain matters, including, but not limited to, losses arising out of our breach of any applicable agreements, intellectual property infringement claims made by third parties, and other liabilities relating to or arising from our services or our acts or omissions. These indemnification provisions may survive termination of the underlying agreement and the maximum potential amount of future payments we could be required to make under these indemnification provisions may not be subject to maximum loss clauses and is indeterminable. We have not incurred any costs as a result of such indemnification obligations and have not recorded any liabilities related to such obligations in the Condensed Consolidated Financial Statements.
XML 25 R16.htm IDEA: XBRL DOCUMENT v3.23.2
Stock-Based Compensation
6 Months Ended
Jun. 30, 2023
Share-Based Payment Arrangement [Abstract]  
Stock-Based Compensation Stock-Based Compensation
Stock Options
A summary of activity in connection with our stock options for the six months ended June 30, 2023, is as follows (number of shares in thousands):
Number of
Shares
Weighted
Average
Exercise
Price per Share
Weighted
Average
Remaining
Contractual Life
in Years
Options outstanding as of December 31, 2022516 $12.90 2.7
Options granted120 129.74 
Options exercised(159)9.44 
Options outstanding as of June 30, 2023477 $43.44 3.4
During the six months ended June 30, 2023, we granted our Chief Executive Officer 120,000 stock options of our Class A common stock. These stock options vest based on service conditions with one-third vesting at the end of each of the years ending December 31, 2025, 2026 and 2027. No stock options were granted during the six months ended June 30, 2022.
Our stock-based compensation expense for stock options was $0.4 million and $0.6 million for the three and six months ended June 30, 2023, respectively. There was no stock-based compensation expense for stock options in the same periods in the prior year.
The fair value of stock options granted is estimated on the date of grant using the Black-Scholes option-pricing model. The following table summarizes information relating to our stock options granted during six months ended June 30, 2023:
Weighted average grant-date fair value per share$67.23 
Weighted average Black-Scholes model assumptions:
Risk-free interest rate4.06 %
Expected term (in years)6.92
Expected volatility44 %
Expected dividend yield— 
As of June 30, 2023, the total estimated remaining stock-based compensation expense for the aforementioned stock options was $7.5 million, which is expected to be recognized over a weighted average period of 4.5 years.
Restricted Stock Units
A summary of activity in connection with our RSUs for the six months ended June 30, 2023, is as follows (number of shares in thousands):
Number of SharesWeighted Average Grant Date Fair Value per Share
Unvested as of December 31, 20221,162 $116.88 
Granted630 122.37 
Vested(261)116.18 
Forfeited(196)115.28 
Unvested as of June 30, 20231,335 $119.84 
Unvested RSUs as of June 30, 2023 were composed of 1.1 million RSUs with only service conditions and 0.2 million PSUs with both service conditions and performance conditions. RSUs granted with only service conditions generally vest over a four-year period. The number of PSUs granted, as included in the above table, assumes achievement of the performance metric at 100% of the performance target. Of the unvested PSUs as of June 30, 2023, 0.1 million are subject to vesting based on the achievement of pre-established performance metrics for the year ending December 31, 2023 and will vest over a three year period, assuming continued employment through each vesting date. The actual number of shares to be issued at the end of the performance period will range from 0% to 142% of the target number of shares depending on achievement relative to the performance metric over the applicable period. The remaining 0.1 million PSUs unvested as of June 30, 2023 are subject to vesting based on the achievement of pre-established performance metrics for three year measurement periods ending December 31, 2023, assuming continued employment throughout the performance period. The actual number of shares to be issued at the end of the performance period will range from 0% to 100% of the initial target awards. Achievement of the performance metric between 100% and 150% of the performance target will result in a performance-based cash bonus payment between 0% and 65% of the initial target awards.
We recognized stock-based compensation expense for the RSUs and PSUs of $10.4 million and $10.5 million for the three months ended June 30, 2023 and 2022, respectively, and $24.1 million and $18.3 million for the six months ended June 30, 2023 and 2022, respectively. Excluded from stock-based compensation expense is capitalized software development costs of $0.2 million and $0.7 million for the three months ended June 30, 2023 and 2022, respectively, and $0.4 million and $1.2 million for the six months ended June 30, 2023 and 2022, respectively. As of June 30, 2023, the total estimated remaining stock-based compensation expense for the aforementioned RSUs and PSUs was $126.2 million, which is expected to be recognized over a weighted average period of 2.7 years.
Restricted Stock Awards
A summary of activity in connection with our restricted stock awards ("RSAs") for the six months ended June 30, 2023 is as follows (number of shares in thousands): 
Number of
Shares
Weighted Average
Grant Date
Fair Value per Share
Unvested as of December 31, 2022$96.33 
Granted151.83 
Vested(6)96.33 
Unvested as of June 30, 2023$151.83 
We have the right to repurchase any unvested RSAs subject to certain conditions. RSAs vest over a one-year period. Our stock-based compensation expense for RSAs was not material for the periods presented.
As of June 30, 2023, the total estimated remaining stock-based compensation expense for unvested RSAs with a repurchase right was $0.9 million, which is expected to be recognized over a weighted average period of 0.9 years.
XML 26 R17.htm IDEA: XBRL DOCUMENT v3.23.2
Income Taxes
6 Months Ended
Jun. 30, 2023
Income Tax Disclosure [Abstract]  
Income Taxes Income TaxesWe calculate our provision for (benefit from) income taxes on a quarterly basis by applying an estimated annual effective tax rate to income/loss from operations and by calculating the tax effect of discrete items recognized during the quarter.
For the three and six months ended June 30, 2023, we recorded income tax expense of $19.6 million and $29.6 million representing an effective tax rate of 2,637% and (121)%. The effective tax rate as compared to the U.S. federal statutory rate of 21% differs primarily due to the change in valuation allowance against deferred tax assets, non-deductible officers' compensation and state income taxes, partially offset by tax benefits from research and development tax credits.
We assess our ability to realize our deferred tax assets on a quarterly basis and we establish a valuation allowance if it is more-likely-than-not that some portion of the deferred tax assets will not be realized. We weigh all available positive and negative evidence, including our earnings history and results of recent operations, scheduled reversals of deferred tax liabilities, projected future taxable income and tax planning strategies.
There were no material changes to our unrecognized tax benefits during the six months ended June 30, 2023.
XML 27 R18.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue and Other Information
6 Months Ended
Jun. 30, 2023
Revenue from Contract with Customer [Abstract]  
Revenue and Other Information Revenue and Other Information
The following table presents our revenue categories for the three and six months ended June 30, 2023 and 2022 (in thousands): 
 Three Months Ended
June 30,
Six Months Ended
June 30,
 2023202220232022
Core solutions$38,515 $32,414 $75,684 $63,223 
Value Added Services106,085 81,450 202,920 152,950 
Other2,475 3,586 4,571 6,573 
Total revenue$147,075 $117,450 $283,175 $222,746 
Our revenue is generated primarily from customers in the United States. All of our property and equipment is located in the United States.
Deferred Revenue
Deferred revenue as of June 30, 2023 and December 31, 2022 was $1.1 million and $0.9 million, respectively, and is included in Other current liabilities on our Condensed Consolidated Balance Sheets. During the six months ended June 30, 2023 and 2022, we recognized $0.7 million and $2.1 million of revenue, respectively, which were included in the deferred revenue balances as of December 31, 2022 and 2021, respectively.
Remaining Performance Obligations
As of June 30, 2023, the total non-cancelable remaining performance obligations ("RPO") under our contracts with customers was $24 million, and we expect to recognize revenue on approximately 50% of these RPO over the following 12 months, with the balance to be recognized thereafter.
XML 28 R19.htm IDEA: XBRL DOCUMENT v3.23.2
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Mar. 31, 2023
Jun. 30, 2022
Mar. 31, 2022
Jun. 30, 2023
Jun. 30, 2022
Pay vs Performance Disclosure            
Net loss $ (18,901) $ (35,110) $ (29,970) $ (14,287) $ (54,011) $ (44,257)
XML 29 R20.htm IDEA: XBRL DOCUMENT v3.23.2
Insider Trading Arrangements
3 Months Ended 6 Months Ended
Jun. 30, 2023
shares
Jun. 30, 2023
shares
Trading Arrangements, by Individual    
Rule 10b5-1 Arrangement Adopted true  
Non-Rule 10b5-1 Arrangement Adopted false  
Rule 10b5-1 Arrangement Terminated false  
Non-Rule 10b5-1 Arrangement Terminated false  
Janet Kerr [Member]    
Trading Arrangements, by Individual    
Material Terms of Trading Arrangement   On May 5, 2023, Janet Kerr, a member of our Board of Directors, entered into a prearranged stock selling plan for the sale of up to 1,000 shares of the Company's Class A common stock between August 4, 2023 and December 31, 2023 (the "Sale Period"). Ms. Kerr's trading plan was entered into during an open insider trading window and is intended to satisfy the affirmative defense of Rule 10b5-1(c) under the Exchange Act of 1934, as amended, and the Company's policies regarding insider transactions.
Name Janet Kerr  
Title Board of Directors  
Adoption Date May 5, 2023  
Arrangement Duration 149 days  
Aggregate Available 1,000 1,000
XML 30 R21.htm IDEA: XBRL DOCUMENT v3.23.2
Summary of Significant Accounting Policies (Policies)
6 Months Ended
Jun. 30, 2023
Accounting Policies [Abstract]  
Basis of Presentation and Significant Accounting Policies Basis of Presentation and Significant Accounting PoliciesThe accompanying unaudited Condensed Consolidated Financial Statements were prepared in accordance with accounting principles generally accepted in the United States (“GAAP”) for interim financial information. Certain information and disclosures normally included in consolidated financial statements prepared in accordance with GAAP have been condensed or omitted. Accordingly, these Condensed Consolidated Financial Statements should be read in conjunction with our audited consolidated financial statements and the related notes included in our Annual Report, which was filed with the SEC on February 9, 2023. The year-end condensed balance sheet was derived from our audited consolidated financial statements. Our unaudited interim Condensed Consolidated Financial Statements include, in the opinion of management, all adjustments, consisting of normal and recurring items, necessary for the fair statement of our Condensed Consolidated Financial Statements.
Reclassification
Reclassification
We reclassified certain amounts in our Condensed Consolidated Statements of Cash Flows within the cash flows from operating activities section in the prior year to conform to the current year's presentation.
Use of Estimates Use of EstimatesThe preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the dates of the financial statements, and the reported amounts of revenue, expenses, other income, and provision for income taxes during the reporting period. Assets and liabilities which are subject to judgment and use of estimates include the fair value of financial instruments, capitalized software development costs, period of benefit associated with deferred costs, incremental borrowing rate used to measure operating lease liabilities, the recoverability of goodwill and long-lived assets, income taxes, useful lives associated with property and equipment and intangible assets, contingencies, assumptions underlying performance-based compensation (whether cash or stock-based), and assumptions underlying stock-based compensation. Actual results could differ from those estimates and any such differences may have a material impact on our Condensed Consolidated Financial Statements.
Net Loss per Common Share Net Loss per Common ShareNet loss per common share was the same for shares of our Class A and Class B common stock because they are entitled to the same liquidation and dividend rights and are therefore combined in the table below.
Recent Accounting Pronouncements Adopted
Recent Accounting Pronouncements Adopted
In October 2021, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") 2021-08, "Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers," which requires contract assets and contract liabilities acquired in a business combination to be recognized and measured by the acquirer on the acquisition date in accordance with ASC 606, "Revenue from Contracts with Customers," as if the acquirer had originated the contracts. ASU 2021-08 is effective for fiscal years beginning after December 15, 2022, with early adoption permitted. We adopted ASU 2021-08 on January 1, 2023. Adoption did not have an impact on our condensed consolidated financial statements.
XML 31 R22.htm IDEA: XBRL DOCUMENT v3.23.2
Summary of Significant Accounting Policies (Tables)
6 Months Ended
Jun. 30, 2023
Accounting Policies [Abstract]  
Schedule of Weighted Average Number of Shares The following table presents a reconciliation of the weighted average number of shares of our Class A and Class B common stock used to compute net loss per common share (in thousands):
 Three Months Ended
June 30,
Six Months Ended
June 30,
 2023202220232022
Weighted average common shares outstanding35,573 34,931 35,512 34,885 
Less: Weighted average unvested restricted shares subject to repurchase
Weighted average common shares outstanding; basic and diluted35,565 34,927 35,505 34,881 
XML 32 R23.htm IDEA: XBRL DOCUMENT v3.23.2
Investment Securities and Fair Value Measurements (Tables)
6 Months Ended
Jun. 30, 2023
Fair Value Disclosures [Abstract]  
Schedule of Available-for-sale Securities
Investment securities classified as available-for-sale consisted of the following as of June 30, 2023 and December 31, 2022 (in thousands):
June 30, 2023
Amortized CostGross Unrealized GainsGross Unrealized LossesEstimated Fair Value
Corporate bonds$5,484 $— $(32)$5,452 
Agency securities11,261 — (233)11,028 
Treasury securities123,582 (797)122,793 
Total available-for-sale investment securities$140,327 $$(1,062)$139,273 
December 31, 2022
Amortized CostGross Unrealized GainsGross Unrealized LossesEstimated Fair Value
Corporate bonds$17,497 $$(112)$17,387 
Agency securities17,507 — (484)17,023 
Treasury securities81,605 — (1,557)80,048 
Total available-for-sale investment securities$116,609 $$(2,153)$114,458 
Available-for-sale Investments, by Remaining Contract Maturity
The fair values of available-for-sale investment securities, by remaining contractual maturity, are as follows (in thousands):
June 30, 2023December 31, 2022
Amortized CostEstimated Fair ValueAmortized CostEstimated Fair Value
Due in one year or less$140,327 $139,273 $90,822 $89,297 
Due after one year through three years— — 25,787 25,161 
Total available-for-sale investment securities$140,327 $139,273 $116,609 $114,458 
Schedule of Sales, Calls, and Maturities During the six months ended June 30, 2023 and 2022, we had sales and maturities of investment securities, as follows (in thousands):
Six Months Ended June 30, 2023
Gross Realized GainsGross Realized LossesGross Proceeds from Sales Gross Proceeds from Maturities
Corporate bonds$$— $1,013 $11,012 
Agency securities— — — 6,250 
Treasury securities— — — 32,355 
Total$$— $1,013 $49,617 
Six Months Ended June 30, 2022
Gross Realized GainsGross Realized LossesGross Proceeds from SalesGross Proceeds from Maturities
Corporate bonds$— $— $— $23,998 
Treasury securities— — — 19,500 
Total$— $— $— $43,498 
Fair Value, Assets Measured on Recurring Basis
The following tables present our financial assets and liabilities measured at fair value on a recurring basis as of June 30, 2023 and December 31, 2022 by level within the fair value hierarchy (in thousands):
June 30, 2023
Level 1Level 2Total Fair
Value
Cash equivalents:
Money market funds$5,226 $— $5,226 
Treasury securities797 — 797 
Available-for-sale investment securities:
Corporate bonds— 5,452 5,452 
Agency securities— 11,028 11,028 
  Treasury securities122,793 — 122,793 
Total$128,816 $16,480 $145,296 
December 31, 2022
Level 1Level 2Total Fair
Value
Cash equivalents:
Money market funds$41,973 $— $41,973 
Treasury securities1,287 — 1,287 
Available-for-sale investment securities:
Corporate bonds— 17,387 17,387 
Agency securities— 17,023 17,023 
Treasury securities80,048 — 80,048 
Total$123,308 $34,410 $157,718 
XML 33 R24.htm IDEA: XBRL DOCUMENT v3.23.2
Capitalized Software Development Costs, net (Tables)
6 Months Ended
Jun. 30, 2023
Research and Development [Abstract]  
Schedule of Capitalized Computer Software
Capitalized software development costs were as follows (in thousands):
June 30,
2023
December 31,
2022
Capitalized software development costs, gross$128,142 $129,749 
Less: Accumulated amortization(101,285)(94,434)
Capitalized software development costs, net$26,857 $35,315 
Schedule of Capitalized Computer Software Future Amortization Expense
Future amortization expense with respect to capitalized software development costs as of June 30, 2023 is estimated as follows (in thousands):
Years Ending December 31,
2023$8,580 
202412,042 
20255,012 
20261,223 
    Total amortization expense$26,857 
XML 34 R25.htm IDEA: XBRL DOCUMENT v3.23.2
Intangible Assets, net (Tables)
6 Months Ended
Jun. 30, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Finite-Lived Intangible Assets
Intangible assets consisted of the following (in thousands, except years):
 June 30, 2023
Gross Carrying
Value
Accumulated
Amortization
Net Carrying
Value
Weighted Average Useful Life in Years
Customer relationships$1,670 $(1,559)$111 5.0
Database4,710 (2,120)2,590 10.0
Technology6,539 (6,539)— 4.0
Trademarks and trade names1,520 (1,367)153 5.0
Partner relationships680 (680)— 3.0
Non-compete agreements7,340 (6,606)734 5.0
Domain names90 (85)5.0
Patents252 (252)— 5.0
Total intangible assets, net$22,801 $(19,208)$3,593 5.8
 December 31, 2022
 Gross Carrying
Value
Accumulated
Amortization
Net Carrying
Value
Weighted Average Useful Life in Years
Customer relationships$1,670 $(1,448)$222 5.0
Database4,710 (1,884)2,826 10.0
Technology6,539 (6,539)— 4.0
Trademarks and trade names1,520 (1,211)309 5.0
Partner relationships680 (680)— 3.0
Non-compete agreements7,340 (5,872)1,468 5.0
Domain names90 (82)5.0
Patents252 (252)— 5.0
Total intangible assets, net$22,801 $(17,968)$4,833 4.7
Schedule of Finite-Lived Intangible Assets, Future Amortization Expense Future amortization expense with respect to intangible assets as of June 30, 2023 is estimated as follows (in thousands):
Years Ending December 31,
2023$1,236 
2024473 
2025471 
2026471 
2027471 
Thereafter471 
    Total amortization expense$3,593 
XML 35 R26.htm IDEA: XBRL DOCUMENT v3.23.2
Accrued Employee Expenses (Tables)
6 Months Ended
Jun. 30, 2023
Compensation Related Costs [Abstract]  
Schedule of Accrued Employee Expenses
Accrued employee expenses consisted of the following (in thousands):
June 30,
2023
December 31,
2022
Accrued vacation$13,523 $12,067 
Accrued bonuses10,028 13,806 
Accrued severance515 496 
Accrued payroll and other7,381 8,007 
    Total accrued employee expenses$31,447 $34,376 
XML 36 R27.htm IDEA: XBRL DOCUMENT v3.23.2
Leases (Tables)
6 Months Ended
Jun. 30, 2023
Leases [Abstract]  
Schedule of Components of Lease Expense
The components of lease expense recognized in the Condensed Consolidated Statements of Operations were as follows (in thousands):
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
Operating lease cost$1,131 $1,468 $2,276 $2,915 
Variable lease cost448 252 1,021 375 
  Total lease cost$1,579 $1,720 $3,297 $3,290 
Lease Assets and Liabilities
Lease-related assets and liabilities were as follows (in thousands):
June 30,
2023
December 31,
2022
Assets
Operating lease right-of-use assets$20,308 $23,485 
Liabilities
Other current liabilities$3,052 $3,357 
Operating lease liabilities39,554 50,237 
Total lease liabilities$42,606 $53,594 
Schedule of Minimum Lease Payments Under Leases
Future minimum lease payments under non-cancellable leases as of June 30, 2023 were as follows (in thousands):
Years ending December 31,
2023(1)
$(793)
2024(1)
5,063 
20256,168 
20266,345 
20276,528 
Thereafter31,090 
Total future minimum lease payments54,401 
Less: imputed interest(11,795)
Total$42,606 
(1) Future minimum lease payments for the years ending December 31, 2023 and 2024 are presented net of tenant improvement allowances of $3.7 million and $0.7 million respectively.
XML 37 R28.htm IDEA: XBRL DOCUMENT v3.23.2
Stock-Based Compensation (Tables)
6 Months Ended
Jun. 30, 2023
Share-Based Payment Arrangement [Abstract]  
Summary of Stock Option Activity
A summary of activity in connection with our stock options for the six months ended June 30, 2023, is as follows (number of shares in thousands):
Number of
Shares
Weighted
Average
Exercise
Price per Share
Weighted
Average
Remaining
Contractual Life
in Years
Options outstanding as of December 31, 2022516 $12.90 2.7
Options granted120 129.74 
Options exercised(159)9.44 
Options outstanding as of June 30, 2023477 $43.44 3.4
Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions The following table summarizes information relating to our stock options granted during six months ended June 30, 2023:
Weighted average grant-date fair value per share$67.23 
Weighted average Black-Scholes model assumptions:
Risk-free interest rate4.06 %
Expected term (in years)6.92
Expected volatility44 %
Expected dividend yield— 
Schedule of Restricted Stock Units Activity
A summary of activity in connection with our RSUs for the six months ended June 30, 2023, is as follows (number of shares in thousands):
Number of SharesWeighted Average Grant Date Fair Value per Share
Unvested as of December 31, 20221,162 $116.88 
Granted630 122.37 
Vested(261)116.18 
Forfeited(196)115.28 
Unvested as of June 30, 20231,335 $119.84 
Schedule of Restricted Stock Awards Activity
A summary of activity in connection with our restricted stock awards ("RSAs") for the six months ended June 30, 2023 is as follows (number of shares in thousands): 
Number of
Shares
Weighted Average
Grant Date
Fair Value per Share
Unvested as of December 31, 2022$96.33 
Granted151.83 
Vested(6)96.33 
Unvested as of June 30, 2023$151.83 
XML 38 R29.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue and Other Information (Tables)
6 Months Ended
Jun. 30, 2023
Revenue from Contract with Customer [Abstract]  
Schedule of Product Information by Revenue Categories
The following table presents our revenue categories for the three and six months ended June 30, 2023 and 2022 (in thousands): 
 Three Months Ended
June 30,
Six Months Ended
June 30,
 2023202220232022
Core solutions$38,515 $32,414 $75,684 $63,223 
Value Added Services106,085 81,450 202,920 152,950 
Other2,475 3,586 4,571 6,573 
Total revenue$147,075 $117,450 $283,175 $222,746 
XML 39 R30.htm IDEA: XBRL DOCUMENT v3.23.2
Summary of Significant Accounting Policies - Schedule of Net Income per Share (Details) - shares
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Accounting Policies [Abstract]        
Weighted average common shares outstanding (in shares) 35,573,000 34,931,000 35,512,000 34,885,000
Less: Weighted average unvested restricted shares subject to repurchase (in shares) 8,000 4,000 7,000 4,000
Weighted average common shares outstanding; basic (in shares) 35,565,000 34,927,000 35,505,000 34,881,000
Weighted average common shares outstanding; diluted (in shares) 35,565,000 34,927,000 35,505,000 34,881,000
XML 40 R31.htm IDEA: XBRL DOCUMENT v3.23.2
Investment Securities and Fair Value Measurements - Schedule of Available-for-sale Securities (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost $ 140,327 $ 116,609
Gross Unrealized Gains 8 2
Gross Unrealized Losses (1,062) (2,153)
Available-for-sale investment securities: 139,273 114,458
Corporate bonds    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost 5,484 17,497
Gross Unrealized Gains 0 2
Gross Unrealized Losses (32) (112)
Available-for-sale investment securities: 5,452 17,387
Agency securities    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost 11,261 17,507
Gross Unrealized Gains 0 0
Gross Unrealized Losses (233) (484)
Available-for-sale investment securities: 11,028 17,023
Treasury securities    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost 123,582 81,605
Gross Unrealized Gains 8 0
Gross Unrealized Losses (797) (1,557)
Available-for-sale investment securities: $ 122,793 $ 80,048
XML 41 R32.htm IDEA: XBRL DOCUMENT v3.23.2
Investment Securities and Fair Value Measurements - Additional Information (Details) - USD ($)
Jun. 30, 2023
Dec. 31, 2022
Fair Value Disclosures [Abstract]    
Debt securities, available-for-sale, allowance for credit loss, excluding accrued Interest $ 0 $ 0
XML 42 R33.htm IDEA: XBRL DOCUMENT v3.23.2
Investment Securities and Fair Value Measurements - Available-for-sale Investments, by Remaining Contract Maturity (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Amortized Cost    
Due in one year or less $ 140,327 $ 90,822
Due after one year through three years 0 25,787
Amortized Cost 140,327 116,609
Estimated Fair Value    
Due in one year or less 139,273 89,297
Due after one year through three years 0 25,161
Estimated Fair Value $ 139,273 $ 114,458
XML 43 R34.htm IDEA: XBRL DOCUMENT v3.23.2
Investment Securities and Fair Value Measurements - Schedule of Sales, Calls and Maturities (Details) - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Debt Securities, Available-for-sale [Line Items]    
Gross Realized Gains $ 3 $ 0
Gross Realized Losses 0 0
Gross Proceeds from Sales 1,013 0
Gross Proceeds from Maturities 49,617 43,498
Corporate bonds    
Debt Securities, Available-for-sale [Line Items]    
Gross Realized Gains 3 0
Gross Realized Losses 0 0
Gross Proceeds from Sales 1,013 0
Gross Proceeds from Maturities 11,012 23,998
Agency securities    
Debt Securities, Available-for-sale [Line Items]    
Gross Realized Gains 0  
Gross Realized Losses 0  
Gross Proceeds from Sales 0  
Gross Proceeds from Maturities 6,250  
Treasury securities    
Debt Securities, Available-for-sale [Line Items]    
Gross Realized Gains 0 0
Gross Realized Losses 0 0
Gross Proceeds from Sales 0 0
Gross Proceeds from Maturities $ 32,355 $ 19,500
XML 44 R35.htm IDEA: XBRL DOCUMENT v3.23.2
Investment Securities and Fair Value Measurements - Fair Value, Assets Measured on Recurring Basis (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Available-for-sale investment securities: $ 139,273 $ 114,458
Corporate bonds    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Available-for-sale investment securities: 5,452 17,387
Agency securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Available-for-sale investment securities: 11,028 17,023
Fair value, recurring measurements    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total 145,296 157,718
Fair value, recurring measurements | Corporate bonds    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Available-for-sale investment securities: 5,452 17,387
Fair value, recurring measurements | Agency securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Available-for-sale investment securities: 11,028 17,023
Fair value, recurring measurements | Treasury securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Available-for-sale investment securities: 122,793 80,048
Fair value, recurring measurements | Money market funds    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash equivalents: 5,226 41,973
Fair value, recurring measurements | Treasury securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash equivalents: 797 1,287
Fair value, recurring measurements | Level 1    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total 128,816 123,308
Fair value, recurring measurements | Level 1 | Corporate bonds    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Available-for-sale investment securities: 0 0
Fair value, recurring measurements | Level 1 | Agency securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Available-for-sale investment securities: 0 0
Fair value, recurring measurements | Level 1 | Treasury securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Available-for-sale investment securities: 122,793 80,048
Fair value, recurring measurements | Level 1 | Money market funds    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash equivalents: 5,226 41,973
Fair value, recurring measurements | Level 1 | Treasury securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash equivalents: 797 1,287
Fair value, recurring measurements | Level 2    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total 16,480 34,410
Fair value, recurring measurements | Level 2 | Corporate bonds    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Available-for-sale investment securities: 5,452 17,387
Fair value, recurring measurements | Level 2 | Agency securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Available-for-sale investment securities: 11,028 17,023
Fair value, recurring measurements | Level 2 | Treasury securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Available-for-sale investment securities: 0 0
Fair value, recurring measurements | Level 2 | Money market funds    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash equivalents: 0 0
Fair value, recurring measurements | Level 2 | Treasury securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash equivalents: $ 0 $ 0
XML 45 R36.htm IDEA: XBRL DOCUMENT v3.23.2
Capitalized Software Development Costs, net - Capitalized Computer Software (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Research and Development [Abstract]    
Capitalized software development costs, gross $ 128,142 $ 129,749
Less: Accumulated amortization (101,285) (94,434)
Capitalized software development costs, net $ 26,857 $ 35,315
XML 46 R37.htm IDEA: XBRL DOCUMENT v3.23.2
Capitalized Software Development Costs, net - Additional Information (Details) - USD ($)
$ in Millions
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Research and Development [Abstract]        
Capitalized software development costs $ 1.3 $ 4.2 $ 2.3 $ 8.3
Amortization expense 4.9 $ 6.0 10.8 $ 12.0
Capitalized computer software, disposals $ 1.3   $ 3.5  
XML 47 R38.htm IDEA: XBRL DOCUMENT v3.23.2
Capitalized Software Development Costs, net - Capitalized Computer Software Future Amortization Expense (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Years Ending December 31,    
2023 $ 8,580  
2024 12,042  
2025 5,012  
2026 1,223  
Capitalized software development costs, net $ 26,857 $ 35,315
XML 48 R39.htm IDEA: XBRL DOCUMENT v3.23.2
Intangible Assets, net - Schedule of Finite-Lived Intangible Assets (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Value $ 22,801 $ 22,801
Accumulated Amortization (19,208) (17,968)
Net Carrying Value $ 3,593 $ 4,833
Weighted Average    
Finite-Lived Intangible Assets [Line Items]    
Weighted Average Useful Life in Years 5 years 9 months 18 days 4 years 8 months 12 days
Customer relationships    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Value $ 1,670 $ 1,670
Accumulated Amortization (1,559) (1,448)
Net Carrying Value $ 111 $ 222
Customer relationships | Weighted Average    
Finite-Lived Intangible Assets [Line Items]    
Weighted Average Useful Life in Years 5 years 5 years
Database    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Value $ 4,710 $ 4,710
Accumulated Amortization (2,120) (1,884)
Net Carrying Value $ 2,590 $ 2,826
Database | Weighted Average    
Finite-Lived Intangible Assets [Line Items]    
Weighted Average Useful Life in Years 10 years 10 years
Technology    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Value $ 6,539 $ 6,539
Accumulated Amortization (6,539) (6,539)
Net Carrying Value $ 0 $ 0
Technology | Weighted Average    
Finite-Lived Intangible Assets [Line Items]    
Weighted Average Useful Life in Years 4 years 4 years
Trademarks and trade names    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Value $ 1,520 $ 1,520
Accumulated Amortization (1,367) (1,211)
Net Carrying Value $ 153 $ 309
Trademarks and trade names | Weighted Average    
Finite-Lived Intangible Assets [Line Items]    
Weighted Average Useful Life in Years 5 years 5 years
Partner relationships    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Value $ 680 $ 680
Accumulated Amortization (680) (680)
Net Carrying Value $ 0 $ 0
Partner relationships | Weighted Average    
Finite-Lived Intangible Assets [Line Items]    
Weighted Average Useful Life in Years 3 years 3 years
Non-compete agreements    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Value $ 7,340 $ 7,340
Accumulated Amortization (6,606) (5,872)
Net Carrying Value $ 734 $ 1,468
Non-compete agreements | Weighted Average    
Finite-Lived Intangible Assets [Line Items]    
Weighted Average Useful Life in Years 5 years 5 years
Domain names    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Value $ 90 $ 90
Accumulated Amortization (85) (82)
Net Carrying Value $ 5 $ 8
Domain names | Weighted Average    
Finite-Lived Intangible Assets [Line Items]    
Weighted Average Useful Life in Years 5 years 5 years
Patents    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Value $ 252 $ 252
Accumulated Amortization (252) (252)
Net Carrying Value $ 0 $ 0
Patents | Weighted Average    
Finite-Lived Intangible Assets [Line Items]    
Weighted Average Useful Life in Years 5 years 5 years
XML 49 R40.htm IDEA: XBRL DOCUMENT v3.23.2
Intangible Assets, net - Additional Information (Details) - USD ($)
$ in Millions
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Goodwill and Intangible Assets Disclosure [Abstract]        
Amortization expense $ 0.6 $ 1.2 $ 1.2 $ 2.3
XML 50 R41.htm IDEA: XBRL DOCUMENT v3.23.2
Intangible Assets, net - Schedule of Finite-Lived Intangible Assets, Future Amortization Expense (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]    
2023 $ 1,236  
2024 473  
2025 471  
2026 471  
2027 471  
Thereafter 471  
Net Carrying Value $ 3,593 $ 4,833
XML 51 R42.htm IDEA: XBRL DOCUMENT v3.23.2
Accrued Employee Expenses (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Compensation Related Costs [Abstract]    
Accrued vacation $ 13,523 $ 12,067
Accrued bonuses 10,028 13,806
Accrued severance 515 496
Accrued payroll and other 7,381 8,007
Total accrued employee expenses $ 31,447 $ 34,376
XML 52 R43.htm IDEA: XBRL DOCUMENT v3.23.2
Accrued Employee Expenses - Additional Information (Details) - USD ($)
$ in Millions
3 Months Ended
Jun. 30, 2023
Mar. 31, 2023
Compensation Related Costs [Abstract]    
Severance costs   $ 14.9
Severance payments $ 14.9  
XML 53 R44.htm IDEA: XBRL DOCUMENT v3.23.2
Leases - Additional Information (Details) - USD ($)
$ in Thousands
1 Months Ended 3 Months Ended 6 Months Ended
Jun. 30, 2023
Jan. 31, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Lessee, Lease, Description [Line Items]          
Lease renewal term 10 years     10 years  
Impairment, long-lived asset, held-for-use     $ 19,400    
Impairment, related to ROU assets     15,700    
Impairment of leased office property and equipment     $ 3,700    
Gain (loss) on modification of lease $ 1,900 $ 2,400   $ 4,281 $ 0
Operating lease, payments $ 2,900        
Minimum          
Lessee, Lease, Description [Line Items]          
Lease term 1 year     1 year  
Maximum          
Lessee, Lease, Description [Line Items]          
Lease term 10 years     10 years  
XML 54 R45.htm IDEA: XBRL DOCUMENT v3.23.2
Leases - Schedule of Components of Lease Expense (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Leases [Abstract]        
Operating lease cost $ 1,131 $ 1,468 $ 2,276 $ 2,915
Variable lease cost 448 252 1,021 375
Total lease cost $ 1,579 $ 1,720 $ 3,297 $ 3,290
XML 55 R46.htm IDEA: XBRL DOCUMENT v3.23.2
Leases - Lease Related Assets and Liabilities (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Leases [Abstract]    
Operating lease right-of-use assets $ 20,308 $ 23,485
Other current liabilities 3,052 3,357
Operating lease liabilities 39,554 50,237
Total lease liabilities $ 42,606 $ 53,594
Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration] Other current liabilities Other current liabilities
XML 56 R47.htm IDEA: XBRL DOCUMENT v3.23.2
Leases - Schedule of Minimum Lease Payments Under Leases (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Years ending December 31,    
2023 $ (793)  
2024 5,063  
2025 6,168  
2026 6,345  
2027 6,528  
Thereafter 31,090  
Total future minimum lease payments 54,401  
Less: imputed interest (11,795)  
Total 42,606 $ 53,594
Tenant allowance, remainder of fiscal year 3,700  
Tenant allowance, year one $ 700  
XML 57 R48.htm IDEA: XBRL DOCUMENT v3.23.2
Commitments and Contingencies (Details) - USD ($)
6 Months Ended
Jun. 30, 2023
Dec. 31, 2022
Commitments and Contingencies Disclosure [Abstract]    
Per incident policy limit $ 100,000  
Quota share of tenant liability insurance provided, percent 100.00%  
Liability for reported claims and claims incurred but not reported $ 3,200,000 $ 2,700,000
Deposits held with a third party related to insurance services collateral $ 2,800,000 $ 4,500,000
XML 58 R49.htm IDEA: XBRL DOCUMENT v3.23.2
Stock-Based Compensation - Stock Option Activity (Details) - $ / shares
6 Months Ended 12 Months Ended
Jun. 30, 2023
Dec. 31, 2022
Number of Shares    
Options outstanding, beginning balance (in shares) 516,000  
Options granted (in shares) 120,000  
Options exercised (in shares) (159,000)  
Options outstanding, ending balance (in shares) 477,000 516,000
Weighted Average Exercise Price per Share    
Options outstanding, beginning balance (in dollars per share) $ 12.90  
Options granted (in dollars per share) 129.74  
Options exercised (in dollars per share) 9.44  
Options outstanding, ending balance (in dollars per share) $ 43.44 $ 12.90
Weighted Average Remaining Contractual Life in Years 3 years 4 months 24 days 2 years 8 months 12 days
XML 59 R50.htm IDEA: XBRL DOCUMENT v3.23.2
Stock-Based Compensation - Narrative (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Options granted (in shares)     120,000  
Stock-based compensation expense $ 10,772,000 $ 9,961,000 $ 24,675,000 $ 17,379,000
Remaining stock-based compensation expense for unvested options, not yet recognized 7,500,000   $ 7,500,000  
Class A common stock        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Options granted (in shares)     120,000 0
Stock Options        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Stock-based compensation expense $ 400,000 $ 0 $ 600,000 $ 0
Stock-based compensation expense, weighted average recognition period     4 years 6 months  
Stock Options | Tranche one        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights, percentage     33.33%  
Stock Options | Tranche two        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights, percentage     33.33%  
Stock Options | Tranche three        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights, percentage     33.33%  
XML 60 R51.htm IDEA: XBRL DOCUMENT v3.23.2
Stock-Based Compensation - Assumptions (Details) - Stock Options
6 Months Ended
Jun. 30, 2023
$ / shares
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Grant date fair value (in USD per share) $ 67.23
Risk-free interest rate 4.06%
Expected term (in years) 6 years 11 months 1 day
Expected volatility 44.00%
Expected dividend yield 0.00%
XML 61 R52.htm IDEA: XBRL DOCUMENT v3.23.2
Stock-Based Compensation - Restricted Stock Units Activity (Details) - Restricted Stock Units
shares in Thousands
6 Months Ended
Jun. 30, 2023
$ / shares
shares
Number of Shares  
Unvested, beginning balance (in shares) | shares 1,162
Granted (in shares) | shares 630
Vested (in shares) | shares (261)
Forfeited (in shares) | shares (196)
Unvested, ending balance (in shares) | shares 1,335
Weighted Average Grant Date Fair Value per Share  
Unvested, beginning balance (in dollars per share) | $ / shares $ 116.88
Granted (in dollars per share) | $ / shares 122.37
Vested (in dollars per share) | $ / shares 116.18
Forfeited (in dollars per share) | $ / shares 115.28
Unvested, ending balance (in dollars per share) | $ / shares $ 119.84
XML 62 R53.htm IDEA: XBRL DOCUMENT v3.23.2
Stock-Based Compensation - Restricted Stock Units Narrative (Details) - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Dec. 31, 2022
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Stock-based compensation expense $ 10,772 $ 9,961 $ 24,675 $ 17,379  
Minimum          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Percent of targeted performance metric 0.00%   0.00%    
RSUs and PSUs          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Stock-based compensation expense $ 10,400 10,500 $ 24,100 18,300  
Stock-based compensation capitalized for software development 200 $ 700 400 $ 1,200  
Remaining stock-based compensation expense for unvested shares, not yet recognized $ 126,200   $ 126,200    
Stock-based compensation expense, weighted average recognition period     2 years 8 months 12 days    
Restricted Stock Units With Service Conditions          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Share-based payment award, non-option equity instruments, nonvested (in shares) 1,100   1,100    
Vesting period     4 years    
Restricted Stock Units with Service and Performance Conditions          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Share-based payment award, non-option equity instruments, outstanding (in shares) 200   200    
PSUs          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Vesting period     3 years    
Percent of targeted performance metric 100.00%   100.00%    
Measurement period     3 years    
PSUs | Tranche one          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Share-based payment award, non-option equity instruments, outstanding (in shares) 100   100    
PSUs | Tranche two          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Share-based payment award, non-option equity instruments, outstanding (in shares) 100   100    
PSUs | Minimum | Tranche one          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Percent of targeted performance metric 0.00%   0.00%    
PSUs | Minimum | Tranche two          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Percent of targeted performance metric 100.00%   100.00%    
PSUs | Minimum | Tranche three          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Percent of cash bonus payments on initial targets, percent     0.00%    
PSUs | Maximum          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Percent of targeted performance metric 100.00%   100.00%    
PSUs | Maximum | Tranche one          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Percent of targeted performance metric 142.00%   142.00%    
PSUs | Maximum | Tranche two          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Percent of targeted performance metric 150.00%   150.00%    
PSUs | Maximum | Tranche three          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Percent of cash bonus payments on initial targets, percent     65.00%    
Unvested RSAs          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Share-based payment award, non-option equity instruments, nonvested (in shares) 6   6   6
Vesting period     1 year    
Remaining stock-based compensation expense for unvested shares, not yet recognized $ 900   $ 900    
Stock-based compensation expense, weighted average recognition period     10 months 24 days    
XML 63 R54.htm IDEA: XBRL DOCUMENT v3.23.2
Stock-Based Compensation - Restricted Stock Awards (Details) - Restricted Stock Awards
shares in Thousands
6 Months Ended
Jun. 30, 2023
$ / shares
shares
Number of Shares  
Unvested, beginning balance (in shares) | shares 6
Granted (in shares) | shares 6
Vested (in shares) | shares (6)
Unvested, ending balance (in shares) | shares 6
Weighted Average Grant Date Fair Value per Share  
Unvested, beginning balance (in dollars per share) | $ / shares $ 96.33
Granted (in dollars per share) | $ / shares 151.83
Vested (in dollars per share) | $ / shares 96.33
Unvested, ending balance (in dollars per share) | $ / shares $ 151.83
XML 64 R55.htm IDEA: XBRL DOCUMENT v3.23.2
Income Taxes (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Income Tax Disclosure [Abstract]        
Income tax expense (benefit) $ 19,646 $ 236 $ 29,607 $ (49)
Effective income tax rate, percent 2637.00%   (121.00%)  
XML 65 R56.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue and Other Information (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Disaggregation of Revenue [Line Items]        
Total revenue $ 147,075 $ 117,450 $ 283,175 $ 222,746
Core solutions        
Disaggregation of Revenue [Line Items]        
Total revenue 38,515 32,414 75,684 63,223
Value Added Services        
Disaggregation of Revenue [Line Items]        
Total revenue 106,085 81,450 202,920 152,950
Other        
Disaggregation of Revenue [Line Items]        
Total revenue $ 2,475 $ 3,586 $ 4,571 $ 6,573
XML 66 R57.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue and Other Information - Additional Information (Details) - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Dec. 31, 2022
Disaggregation of Revenue [Line Items]      
Deferred revenue $ 1,100   $ 900
Revenue recognized from deferred revenue 700 $ 2,100  
Remaining performance obligation, amount $ 24,000    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-07-01      
Disaggregation of Revenue [Line Items]      
Remaining performance obligation, percentage 50.00%    
Remaining performance obligation, expected timing of satisfaction, period 12 months    
XML 67 appf-20230630_htm.xml IDEA: XBRL DOCUMENT 0001433195 2023-01-01 2023-06-30 0001433195 us-gaap:CommonClassAMember 2023-07-20 0001433195 us-gaap:CommonClassBMember 2023-07-20 0001433195 2023-06-30 0001433195 2022-12-31 0001433195 us-gaap:CommonClassAMember 2023-06-30 0001433195 us-gaap:CommonClassAMember 2022-12-31 0001433195 us-gaap:CommonClassBMember 2023-06-30 0001433195 us-gaap:CommonClassBMember 2022-12-31 0001433195 2023-04-01 2023-06-30 0001433195 2022-04-01 2022-06-30 0001433195 2022-01-01 2022-06-30 0001433195 us-gaap:CostOfSalesMember 2023-04-01 2023-06-30 0001433195 us-gaap:CostOfSalesMember 2022-04-01 2022-06-30 0001433195 us-gaap:CostOfSalesMember 2023-01-01 2023-06-30 0001433195 us-gaap:CostOfSalesMember 2022-01-01 2022-06-30 0001433195 us-gaap:SellingAndMarketingExpenseMember 2023-04-01 2023-06-30 0001433195 us-gaap:SellingAndMarketingExpenseMember 2022-04-01 2022-06-30 0001433195 us-gaap:SellingAndMarketingExpenseMember 2023-01-01 2023-06-30 0001433195 us-gaap:SellingAndMarketingExpenseMember 2022-01-01 2022-06-30 0001433195 us-gaap:ResearchAndDevelopmentExpenseMember 2023-04-01 2023-06-30 0001433195 us-gaap:ResearchAndDevelopmentExpenseMember 2022-04-01 2022-06-30 0001433195 us-gaap:ResearchAndDevelopmentExpenseMember 2023-01-01 2023-06-30 0001433195 us-gaap:ResearchAndDevelopmentExpenseMember 2022-01-01 2022-06-30 0001433195 us-gaap:GeneralAndAdministrativeExpenseMember 2023-04-01 2023-06-30 0001433195 us-gaap:GeneralAndAdministrativeExpenseMember 2022-04-01 2022-06-30 0001433195 us-gaap:GeneralAndAdministrativeExpenseMember 2023-01-01 2023-06-30 0001433195 us-gaap:GeneralAndAdministrativeExpenseMember 2022-01-01 2022-06-30 0001433195 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2022-12-31 0001433195 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2022-12-31 0001433195 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001433195 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001433195 us-gaap:TreasuryStockCommonMember 2022-12-31 0001433195 us-gaap:RetainedEarningsMember 2022-12-31 0001433195 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2023-01-01 2023-03-31 0001433195 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-03-31 0001433195 2023-01-01 2023-03-31 0001433195 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2023-01-01 2023-03-31 0001433195 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-03-31 0001433195 us-gaap:RetainedEarningsMember 2023-01-01 2023-03-31 0001433195 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2023-03-31 0001433195 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2023-03-31 0001433195 us-gaap:AdditionalPaidInCapitalMember 2023-03-31 0001433195 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-03-31 0001433195 us-gaap:TreasuryStockCommonMember 2023-03-31 0001433195 us-gaap:RetainedEarningsMember 2023-03-31 0001433195 2023-03-31 0001433195 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2023-04-01 2023-06-30 0001433195 us-gaap:AdditionalPaidInCapitalMember 2023-04-01 2023-06-30 0001433195 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-04-01 2023-06-30 0001433195 us-gaap:RetainedEarningsMember 2023-04-01 2023-06-30 0001433195 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2023-06-30 0001433195 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2023-06-30 0001433195 us-gaap:AdditionalPaidInCapitalMember 2023-06-30 0001433195 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-06-30 0001433195 us-gaap:TreasuryStockCommonMember 2023-06-30 0001433195 us-gaap:RetainedEarningsMember 2023-06-30 0001433195 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2021-12-31 0001433195 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2021-12-31 0001433195 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001433195 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0001433195 us-gaap:TreasuryStockCommonMember 2021-12-31 0001433195 us-gaap:RetainedEarningsMember 2021-12-31 0001433195 2021-12-31 0001433195 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2022-01-01 2022-03-31 0001433195 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-03-31 0001433195 2022-01-01 2022-03-31 0001433195 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2022-01-01 2022-03-31 0001433195 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-03-31 0001433195 us-gaap:RetainedEarningsMember 2022-01-01 2022-03-31 0001433195 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2022-03-31 0001433195 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2022-03-31 0001433195 us-gaap:AdditionalPaidInCapitalMember 2022-03-31 0001433195 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-03-31 0001433195 us-gaap:TreasuryStockCommonMember 2022-03-31 0001433195 us-gaap:RetainedEarningsMember 2022-03-31 0001433195 2022-03-31 0001433195 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2022-04-01 2022-06-30 0001433195 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2022-04-01 2022-06-30 0001433195 us-gaap:AdditionalPaidInCapitalMember 2022-04-01 2022-06-30 0001433195 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-04-01 2022-06-30 0001433195 us-gaap:RetainedEarningsMember 2022-04-01 2022-06-30 0001433195 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2022-06-30 0001433195 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2022-06-30 0001433195 us-gaap:AdditionalPaidInCapitalMember 2022-06-30 0001433195 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-06-30 0001433195 us-gaap:TreasuryStockCommonMember 2022-06-30 0001433195 us-gaap:RetainedEarningsMember 2022-06-30 0001433195 2022-06-30 0001433195 us-gaap:CorporateBondSecuritiesMember 2023-06-30 0001433195 us-gaap:AgencySecuritiesMember 2023-06-30 0001433195 us-gaap:USTreasurySecuritiesMember 2023-06-30 0001433195 us-gaap:CorporateBondSecuritiesMember 2022-12-31 0001433195 us-gaap:AgencySecuritiesMember 2022-12-31 0001433195 us-gaap:USTreasurySecuritiesMember 2022-12-31 0001433195 us-gaap:CorporateBondSecuritiesMember 2023-01-01 2023-06-30 0001433195 us-gaap:AgencySecuritiesMember 2023-01-01 2023-06-30 0001433195 us-gaap:USTreasurySecuritiesMember 2023-01-01 2023-06-30 0001433195 us-gaap:CorporateBondSecuritiesMember 2022-01-01 2022-06-30 0001433195 us-gaap:USTreasurySecuritiesMember 2022-01-01 2022-06-30 0001433195 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-06-30 0001433195 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2023-06-30 0001433195 us-gaap:MoneyMarketFundsMember us-gaap:FairValueMeasurementsRecurringMember 2023-06-30 0001433195 us-gaap:USTreasurySecuritiesMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-06-30 0001433195 us-gaap:USTreasurySecuritiesMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2023-06-30 0001433195 us-gaap:USTreasurySecuritiesMember us-gaap:FairValueMeasurementsRecurringMember 2023-06-30 0001433195 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateBondSecuritiesMember 2023-06-30 0001433195 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateBondSecuritiesMember 2023-06-30 0001433195 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateBondSecuritiesMember 2023-06-30 0001433195 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:AgencySecuritiesMember 2023-06-30 0001433195 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:AgencySecuritiesMember 2023-06-30 0001433195 us-gaap:FairValueMeasurementsRecurringMember us-gaap:AgencySecuritiesMember 2023-06-30 0001433195 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasuryAndGovernmentMember 2023-06-30 0001433195 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasuryAndGovernmentMember 2023-06-30 0001433195 us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasuryAndGovernmentMember 2023-06-30 0001433195 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-06-30 0001433195 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2023-06-30 0001433195 us-gaap:FairValueMeasurementsRecurringMember 2023-06-30 0001433195 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001433195 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001433195 us-gaap:MoneyMarketFundsMember us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001433195 us-gaap:USTreasurySecuritiesMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001433195 us-gaap:USTreasurySecuritiesMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001433195 us-gaap:USTreasurySecuritiesMember us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001433195 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateBondSecuritiesMember 2022-12-31 0001433195 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateBondSecuritiesMember 2022-12-31 0001433195 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateBondSecuritiesMember 2022-12-31 0001433195 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:AgencySecuritiesMember 2022-12-31 0001433195 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:AgencySecuritiesMember 2022-12-31 0001433195 us-gaap:FairValueMeasurementsRecurringMember us-gaap:AgencySecuritiesMember 2022-12-31 0001433195 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasuryAndGovernmentMember 2022-12-31 0001433195 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasuryAndGovernmentMember 2022-12-31 0001433195 us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasuryAndGovernmentMember 2022-12-31 0001433195 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001433195 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001433195 us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001433195 us-gaap:CustomerRelationshipsMember 2023-06-30 0001433195 srt:WeightedAverageMember us-gaap:CustomerRelationshipsMember 2023-06-30 0001433195 appf:DatabaseMember 2023-06-30 0001433195 srt:WeightedAverageMember appf:DatabaseMember 2023-06-30 0001433195 appf:TechnologyMember 2023-06-30 0001433195 srt:WeightedAverageMember appf:TechnologyMember 2023-06-30 0001433195 us-gaap:TrademarksAndTradeNamesMember 2023-06-30 0001433195 srt:WeightedAverageMember us-gaap:TrademarksAndTradeNamesMember 2023-06-30 0001433195 appf:PartnerRelationshipsMember 2023-06-30 0001433195 srt:WeightedAverageMember appf:PartnerRelationshipsMember 2023-06-30 0001433195 us-gaap:NoncompeteAgreementsMember 2023-06-30 0001433195 srt:WeightedAverageMember us-gaap:NoncompeteAgreementsMember 2023-06-30 0001433195 us-gaap:InternetDomainNamesMember 2023-06-30 0001433195 srt:WeightedAverageMember us-gaap:InternetDomainNamesMember 2023-06-30 0001433195 us-gaap:PatentsMember 2023-06-30 0001433195 srt:WeightedAverageMember us-gaap:PatentsMember 2023-06-30 0001433195 srt:WeightedAverageMember 2023-06-30 0001433195 us-gaap:CustomerRelationshipsMember 2022-12-31 0001433195 srt:WeightedAverageMember us-gaap:CustomerRelationshipsMember 2022-12-31 0001433195 appf:DatabaseMember 2022-12-31 0001433195 srt:WeightedAverageMember appf:DatabaseMember 2022-12-31 0001433195 appf:TechnologyMember 2022-12-31 0001433195 srt:WeightedAverageMember appf:TechnologyMember 2022-12-31 0001433195 us-gaap:TrademarksAndTradeNamesMember 2022-12-31 0001433195 srt:WeightedAverageMember us-gaap:TrademarksAndTradeNamesMember 2022-12-31 0001433195 appf:PartnerRelationshipsMember 2022-12-31 0001433195 srt:WeightedAverageMember appf:PartnerRelationshipsMember 2022-12-31 0001433195 us-gaap:NoncompeteAgreementsMember 2022-12-31 0001433195 srt:WeightedAverageMember us-gaap:NoncompeteAgreementsMember 2022-12-31 0001433195 us-gaap:InternetDomainNamesMember 2022-12-31 0001433195 srt:WeightedAverageMember us-gaap:InternetDomainNamesMember 2022-12-31 0001433195 us-gaap:PatentsMember 2022-12-31 0001433195 srt:WeightedAverageMember us-gaap:PatentsMember 2022-12-31 0001433195 srt:WeightedAverageMember 2022-12-31 0001433195 srt:MinimumMember 2023-06-30 0001433195 srt:MaximumMember 2023-06-30 0001433195 2023-01-01 2023-01-31 0001433195 2023-06-01 2023-06-30 0001433195 2022-01-01 2022-12-31 0001433195 us-gaap:CommonClassAMember 2023-01-01 2023-06-30 0001433195 us-gaap:CommonClassAMember 2022-01-01 2022-06-30 0001433195 us-gaap:EmployeeStockOptionMember 2023-04-01 2023-06-30 0001433195 us-gaap:EmployeeStockOptionMember 2023-01-01 2023-06-30 0001433195 us-gaap:EmployeeStockOptionMember 2022-01-01 2022-06-30 0001433195 us-gaap:EmployeeStockOptionMember 2022-04-01 2022-06-30 0001433195 us-gaap:RestrictedStockUnitsRSUMember 2022-12-31 0001433195 us-gaap:RestrictedStockUnitsRSUMember 2023-01-01 2023-06-30 0001433195 us-gaap:RestrictedStockUnitsRSUMember 2023-06-30 0001433195 appf:RestrictedStockUnitsWithServiceConditionsMember 2023-06-30 0001433195 appf:RestrictedStockUnitsWithServiceAndPerformanceConditionsMember 2023-06-30 0001433195 appf:RestrictedStockUnitsWithServiceConditionsMember 2023-01-01 2023-06-30 0001433195 appf:PerformanceStockUnitsMember 2023-06-30 0001433195 appf:PerformanceStockUnitsMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2023-06-30 0001433195 appf:PerformanceStockUnitsMember 2023-01-01 2023-06-30 0001433195 srt:MinimumMember appf:PerformanceStockUnitsMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2023-06-30 0001433195 srt:MaximumMember appf:PerformanceStockUnitsMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2023-06-30 0001433195 appf:PerformanceStockUnitsMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2023-06-30 0001433195 srt:MaximumMember appf:PerformanceStockUnitsMember 2023-06-30 0001433195 srt:MinimumMember appf:PerformanceStockUnitsMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2023-06-30 0001433195 srt:MaximumMember appf:PerformanceStockUnitsMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2023-06-30 0001433195 srt:MinimumMember appf:PerformanceStockUnitsMember us-gaap:ShareBasedCompensationAwardTrancheThreeMember 2023-01-01 2023-06-30 0001433195 srt:MaximumMember appf:PerformanceStockUnitsMember us-gaap:ShareBasedCompensationAwardTrancheThreeMember 2023-01-01 2023-06-30 0001433195 appf:RestrictedStockUnitsAndPerformanceStockUnitsMember 2023-04-01 2023-06-30 0001433195 appf:RestrictedStockUnitsAndPerformanceStockUnitsMember 2022-04-01 2022-06-30 0001433195 appf:RestrictedStockUnitsAndPerformanceStockUnitsMember 2023-01-01 2023-06-30 0001433195 appf:RestrictedStockUnitsAndPerformanceStockUnitsMember 2022-01-01 2022-06-30 0001433195 appf:RestrictedStockUnitsAndPerformanceStockUnitsMember 2023-06-30 0001433195 us-gaap:RestrictedStockMember 2022-12-31 0001433195 us-gaap:RestrictedStockMember 2023-01-01 2023-06-30 0001433195 us-gaap:RestrictedStockMember 2023-06-30 0001433195 us-gaap:EmployeeStockOptionMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2023-01-01 2023-06-30 0001433195 us-gaap:EmployeeStockOptionMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2023-01-01 2023-06-30 0001433195 us-gaap:EmployeeStockOptionMember us-gaap:ShareBasedCompensationAwardTrancheThreeMember 2023-01-01 2023-06-30 0001433195 appf:CoreSolutionsMember 2023-04-01 2023-06-30 0001433195 appf:CoreSolutionsMember 2022-04-01 2022-06-30 0001433195 appf:CoreSolutionsMember 2023-01-01 2023-06-30 0001433195 appf:CoreSolutionsMember 2022-01-01 2022-06-30 0001433195 appf:ValuePlusServicesMember 2023-04-01 2023-06-30 0001433195 appf:ValuePlusServicesMember 2022-04-01 2022-06-30 0001433195 appf:ValuePlusServicesMember 2023-01-01 2023-06-30 0001433195 appf:ValuePlusServicesMember 2022-01-01 2022-06-30 0001433195 appf:OtherServicesMember 2023-04-01 2023-06-30 0001433195 appf:OtherServicesMember 2022-04-01 2022-06-30 0001433195 appf:OtherServicesMember 2023-01-01 2023-06-30 0001433195 appf:OtherServicesMember 2022-01-01 2022-06-30 0001433195 2023-07-01 2023-06-30 0001433195 appf:JanetKerrMember 2023-01-01 2023-06-30 0001433195 appf:JanetKerrMember 2023-04-01 2023-06-30 0001433195 appf:JanetKerrMember 2023-06-30 shares iso4217:USD iso4217:USD shares pure 0001433195 --12-31 2023 Q2 false P1Y http://fasb.org/us-gaap/2023#OtherLiabilitiesCurrent http://fasb.org/us-gaap/2023#OtherLiabilitiesCurrent 0.3333 0.3333 0.3333 P149D 10-Q true 2023-06-30 false 001-37468 AppFolio, Inc. DE 26-0359894 70 Castilian Drive 93117 Santa Barbara, CA 805 364-6093 Class A common stock, $0.0001 par value APPF NASDAQ Yes Yes Large Accelerated Filer false false false 20925280 14719225 24698000 70769000 139273000 89297000 20033000 16503000 25478000 24899000 209482000 201468000 0 25161000 26635000 26110000 20308000 23485000 26857000 35315000 56060000 56060000 3593000 4833000 8424000 8785000 351359000 381217000 1532000 2473000 31447000 34376000 18560000 15601000 13485000 0 9687000 8893000 74711000 61343000 39554000 50237000 11141000 4091000 125406000 115671000 2000 2000 2000 2000 223025000 209704000 -587000 -1684000 25756000 25756000 29267000 83278000 225953000 265546000 351359000 381217000 147075000 117450000 283175000 222746000 57854000 47430000 114062000 90777000 27002000 26995000 56400000 51914000 37263000 26687000 74925000 51007000 18819000 37947000 50510000 56911000 6816000 8321000 14487000 16736000 147754000 147380000 310384000 267345000 -679000 -29930000 -27209000 -44599000 -54000 45000 -34000 35000 1478000 151000 2839000 258000 745000 -29734000 -24404000 -44306000 19646000 236000 29607000 -49000 -18901000 -29970000 -54011000 -44257000 -0.53 -0.53 -0.86 -0.86 -1.52 -1.52 -1.27 -1.27 35565000 35565000 34927000 34927000 35505000 35505000 34881000 34881000 988000 726000 1756000 1084000 444000 2013000 2861000 3473000 4348000 4024000 9787000 6830000 4992000 3198000 10271000 5992000 10772000 9961000 24675000 17379000 -18901000 -29970000 -54011000 -44257000 334000 -400000 1097000 -1745000 -18567000 -30370000 -52914000 -46002000 20569000 2000 14746000 2000 209704000 -1684000 -25756000 83278000 265546000 64000 834000 834000 14075000 14075000 79000 -5539000 -5539000 -27000 27000 2000 763000 763000 -35110000 -35110000 20741000 2000 14719000 2000 219074000 -921000 -25756000 48168000 240569000 95000 668000 668000 11000000 11000000 82000 -7717000 -7717000 4000 334000 334000 -18901000 -18901000 20922000 2000 14719000 2000 223025000 -587000 -25756000 29267000 225953000 19417000 2000 15408000 2000 171930000 -194000 -25756000 151397000 297381000 17000 100000 100000 7967000 7967000 17000 -1073000 -1073000 -572000 572000 -1345000 -1345000 -14287000 -14287000 20023000 2000 14836000 2000 178924000 -1539000 -25756000 137110000 288743000 41000 27000 503000 503000 10639000 10639000 66000 -4524000 -4524000 -37000 37000 6000 -400000 -400000 -29970000 -29970000 20173000 2000 14826000 2000 185542000 -1939000 -25756000 107140000 264991000 -54011000 -44257000 13135000 15637000 1109000 1809000 0 19792000 4281000 0 9000 -1550000 26027000 18478000 717000 -6000 3530000 2924000 2429000 2652000 -363000 1308000 -989000 17000 -2719000 -3217000 2170000 3182000 25152000 52000 -4638000 -1311000 -2308000 1527000 -7657000 3281000 73597000 44900000 1013000 0 49617000 43498000 2171000 5099000 2151000 7193000 629000 0 -26660000 -13694000 1502000 603000 13256000 5597000 -11754000 -4994000 -46071000 -15407000 71019000 58283000 24948000 42876000 24698000 42626000 250000 250000 24948000 42876000 Nature of BusinessAppFolio, Inc. ("we," "us" or "our") is a leading provider of cloud business management solutions for the real estate industry. Our solutions are designed to enable our customers to digitally transform their businesses, address critical business operations and deliver a better customer experience. Digital transformation is effectively a requirement for business success in the modern world, and the way we work and live requires powerful software solutions. Summary of Significant Accounting Policies<div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Basis of Presentation and Significant Accounting Policies</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying unaudited Condensed Consolidated Financial Statements were prepared in accordance with accounting principles generally accepted in the United States (“GAAP”) for interim financial information. Certain information and disclosures normally included in consolidated financial statements prepared in accordance with GAAP have been condensed or omitted. Accordingly, these Condensed Consolidated Financial Statements should be read in conjunction with our audited consolidated financial statements and the related notes included in our Annual Report, which was filed with the SEC on February 9, 2023. The year-end condensed balance sheet was derived from our audited consolidated financial statements. Our unaudited interim Condensed Consolidated Financial Statements include, in the opinion of management, all adjustments, consisting of normal and recurring items, necessary for the fair statement of our Condensed Consolidated Financial Statements. The operating results for the six months ended June 30, 2023 are not necessarily indicative of the results expected for the full year ending December 31, 2023.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Reclassification</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We reclassified certain amounts in our Condensed Consolidated Statements of Cash Flows within the cash flows from operating activities section in the prior year to conform to the current year's presentation.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the dates of the financial statements, and the reported amounts of revenue, expenses, other income, and provision for income taxes during the reporting period. Assets and liabilities which are subject to judgment and use of estimates include the fair value of financial instruments, capitalized software development costs, period of benefit associated with deferred costs, incremental borrowing rate used to measure operating lease liabilities, the recoverability of goodwill and long-lived assets, income taxes, useful lives associated with property and equipment and intangible assets, contingencies, assumptions underlying performance-based compensation (whether cash or stock-based), and assumptions underlying stock-based compensation. Actual results could differ from those estimates and any such differences may have a material impact on our Condensed Consolidated Financial Statements. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Net Loss per Common Share</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net loss per common share was the same for shares of our Class A and Class B common stock because they are entitled to the same liquidation and dividend rights and are therefore combined in the table below. The following table presents a reconciliation of the weighted average number of shares of our Class A and Class B common stock used to compute net loss per common share (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:59.310%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.137%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.137%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.826%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.844%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.847%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended<br/>June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Six Months Ended<br/>June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average common shares outstanding</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,573 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,931 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,512 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,885 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: Weighted average unvested restricted shares subject to repurchase</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average common shares outstanding; basic and diluted</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,565 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,927 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,505 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,881 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Because we reported a net loss for all periods presented, all potentially dilutive common shares are anti-dilutive for these periods and have been excluded from the calculation of net loss per share.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recent Accounting Pronouncements Adopted</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In October 2021, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") 2021-08, "</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">," which requires contract assets and contract liabilities acquired in a business combination to be recognized and measured by the acquirer on the acquisition date in accordance with ASC 606, "</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Revenue from Contracts with Customers</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">," as if the acquirer had originated the contracts. ASU 2021-08 is effective for fiscal years beginning after December 15, 2022, with early adoption permitted. We adopted ASU 2021-08 on January 1, 2023. Adoption did not have an impact on our condensed consolidated financial statements.</span></div> Basis of Presentation and Significant Accounting PoliciesThe accompanying unaudited Condensed Consolidated Financial Statements were prepared in accordance with accounting principles generally accepted in the United States (“GAAP”) for interim financial information. Certain information and disclosures normally included in consolidated financial statements prepared in accordance with GAAP have been condensed or omitted. Accordingly, these Condensed Consolidated Financial Statements should be read in conjunction with our audited consolidated financial statements and the related notes included in our Annual Report, which was filed with the SEC on February 9, 2023. The year-end condensed balance sheet was derived from our audited consolidated financial statements. Our unaudited interim Condensed Consolidated Financial Statements include, in the opinion of management, all adjustments, consisting of normal and recurring items, necessary for the fair statement of our Condensed Consolidated Financial Statements. <div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Reclassification</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We reclassified certain amounts in our Condensed Consolidated Statements of Cash Flows within the cash flows from operating activities section in the prior year to conform to the current year's presentation.</span></div> Use of EstimatesThe preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the dates of the financial statements, and the reported amounts of revenue, expenses, other income, and provision for income taxes during the reporting period. Assets and liabilities which are subject to judgment and use of estimates include the fair value of financial instruments, capitalized software development costs, period of benefit associated with deferred costs, incremental borrowing rate used to measure operating lease liabilities, the recoverability of goodwill and long-lived assets, income taxes, useful lives associated with property and equipment and intangible assets, contingencies, assumptions underlying performance-based compensation (whether cash or stock-based), and assumptions underlying stock-based compensation. Actual results could differ from those estimates and any such differences may have a material impact on our Condensed Consolidated Financial Statements. Net Loss per Common ShareNet loss per common share was the same for shares of our Class A and Class B common stock because they are entitled to the same liquidation and dividend rights and are therefore combined in the table below. The following table presents a reconciliation of the weighted average number of shares of our Class A and Class B common stock used to compute net loss per common share (in thousands):<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:59.310%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.137%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.137%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.826%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.844%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.847%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended<br/>June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Six Months Ended<br/>June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average common shares outstanding</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,573 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,931 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,512 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,885 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: Weighted average unvested restricted shares subject to repurchase</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average common shares outstanding; basic and diluted</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,565 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,927 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,505 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,881 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table> 35573000 34931000 35512000 34885000 8000 4000 7000 4000 35565000 35565000 34927000 34927000 35505000 35505000 34881000 34881000 <div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recent Accounting Pronouncements Adopted</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In October 2021, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") 2021-08, "</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">," which requires contract assets and contract liabilities acquired in a business combination to be recognized and measured by the acquirer on the acquisition date in accordance with ASC 606, "</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Revenue from Contracts with Customers</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">," as if the acquirer had originated the contracts. ASU 2021-08 is effective for fiscal years beginning after December 15, 2022, with early adoption permitted. We adopted ASU 2021-08 on January 1, 2023. Adoption did not have an impact on our condensed consolidated financial statements.</span></div> Investment Securities and Fair Value Measurements<div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Investment Securities</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Investment securities classified as available-for-sale consisted of the following as of June 30, 2023 and December 31, 2022 (in thousands):</span></div><div style="margin-top:17pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:43.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.208%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">June 30, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Gains</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Losses</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,484 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(32)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,452 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,261 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(233)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,028 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">123,582 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(797)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">122,793 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total available-for-sale investment securities</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">140,327 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,062)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">139,273 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:18pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:43.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.208%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Gains</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Losses</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,497 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(112)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,387 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,507 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(484)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,023 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">81,605 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,557)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">80,048 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total available-for-sale investment securities</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">116,609 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,153)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">114,458 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:13pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of June 30, 2023, the decline in fair value below amortized cost basis was not considered other than temporary as it is more likely than not we will hold the securities until maturity or recovery of the cost basis. No allowance for credit losses for available-for-sale investment securities was recorded as of June 30, 2023 or December 31, 2022. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair values of available-for-sale investment securities, by remaining contractual maturity, are as follows (in thousands):</span></div><div style="margin-top:17pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:43.490%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.208%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Due in one year or less</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">140,327 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">139,273 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">90,822 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">89,297 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Due after one year through three years</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,787 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,161 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total available-for-sale investment securities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">140,327 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">139,273 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">116,609 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">114,458 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:7pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the six months ended June 30, 2023 and 2022, we had sales and maturities of investment securities, as follows (in thousands):</span></div><div style="margin-top:17pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:43.490%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.208%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Six Months Ended June 30, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Realized Gains</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Realized Losses</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Proceeds from Sales </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Proceeds from Maturities</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,013 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,012 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,250 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,355 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,013 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,617 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:43.344%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.350%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.208%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Six Months Ended June 30, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Realized Gains</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Realized Losses</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Proceeds from Sales</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Proceeds from Maturities</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,998 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,500 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,498 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Fair Value Measurements</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Recurring Fair Value Measurements</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables present our financial assets and liabilities measured at fair value on a recurring basis as of June 30, 2023 and December 31, 2022 by level within the fair value hierarchy (in thousands):</span></div><div style="margin-top:17pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:57.087%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.350%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.350%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:12.353%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">June 30, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total Fair<br/>Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,226 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,226 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">797 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">797 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Available-for-sale investment securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,452 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,452 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,028 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,028 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">  Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">122,793 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">122,793 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">128,816 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,480 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">145,296 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:57.087%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.350%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.350%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:12.353%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total Fair<br/>Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,973 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,973 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,287 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,287 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Available-for-sale investment securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,387 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,387 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,023 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,023 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">80,048 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">80,048 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">123,308 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,410 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">157,718 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:2pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying amounts of cash and cash equivalents, restricted cash, accounts receivable, accounts payable and accrued liabilities approximate their fair value because of the short maturity of these items. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fair value for our Level 1 investment securities is based on market prices for identical assets. Our Level 2 securities were priced by a pricing vendor. The pricing vendor utilizes the most recent observable market information in pricing these securities or, if specific prices are not available for these securities, other observable inputs like market transactions involving comparable securities are used.</span></div> <div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Investment securities classified as available-for-sale consisted of the following as of June 30, 2023 and December 31, 2022 (in thousands):</span></div><div style="margin-top:17pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:43.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.208%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">June 30, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Gains</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Losses</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,484 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(32)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,452 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,261 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(233)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,028 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">123,582 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(797)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">122,793 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total available-for-sale investment securities</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">140,327 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,062)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">139,273 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:18pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:43.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.208%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Gains</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Losses</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,497 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(112)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,387 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,507 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(484)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,023 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">81,605 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,557)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">80,048 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total available-for-sale investment securities</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">116,609 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,153)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">114,458 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 5484000 0 32000 5452000 11261000 0 233000 11028000 123582000 8000 797000 122793000 140327000 8000 1062000 139273000 17497000 2000 112000 17387000 17507000 0 484000 17023000 81605000 0 1557000 80048000 116609000 2000 2153000 114458000 0 0 <div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair values of available-for-sale investment securities, by remaining contractual maturity, are as follows (in thousands):</span></div><div style="margin-top:17pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:43.490%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.208%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Due in one year or less</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">140,327 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">139,273 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">90,822 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">89,297 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Due after one year through three years</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,787 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,161 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total available-for-sale investment securities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">140,327 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">139,273 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">116,609 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">114,458 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 140327000 139273000 90822000 89297000 0 0 25787000 25161000 140327000 139273000 116609000 114458000 During the six months ended June 30, 2023 and 2022, we had sales and maturities of investment securities, as follows (in thousands):<div style="margin-top:17pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:43.490%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.208%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Six Months Ended June 30, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Realized Gains</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Realized Losses</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Proceeds from Sales </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Proceeds from Maturities</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,013 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,012 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,250 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,355 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,013 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,617 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:43.344%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.350%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.208%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Six Months Ended June 30, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Realized Gains</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Realized Losses</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Proceeds from Sales</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Proceeds from Maturities</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,998 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,500 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,498 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 3000 0 1013000 11012000 0 0 0 6250000 0 0 0 32355000 3000 0 1013000 49617000 0 0 0 23998000 0 0 0 19500000 0 0 0 43498000 <div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables present our financial assets and liabilities measured at fair value on a recurring basis as of June 30, 2023 and December 31, 2022 by level within the fair value hierarchy (in thousands):</span></div><div style="margin-top:17pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:57.087%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.350%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.350%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:12.353%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">June 30, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total Fair<br/>Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,226 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,226 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">797 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">797 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Available-for-sale investment securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,452 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,452 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,028 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,028 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">  Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">122,793 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">122,793 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">128,816 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,480 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">145,296 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:57.087%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.350%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.350%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:12.353%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total Fair<br/>Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,973 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,973 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,287 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,287 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Available-for-sale investment securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,387 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,387 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,023 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,023 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">80,048 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">80,048 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">123,308 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,410 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">157,718 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 5226000 0 5226000 797000 0 797000 0 5452000 5452000 0 11028000 11028000 122793000 0 122793000 128816000 16480000 145296000 41973000 0 41973000 1287000 0 1287000 0 17387000 17387000 0 17023000 17023000 80048000 0 80048000 123308000 34410000 157718000 Capitalized Software Development Costs, net<div style="margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Capitalized software development costs were as follows (in thousands): </span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:69.952%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.500%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">June 30,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Capitalized software development costs, gross</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">128,142 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">129,749 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: Accumulated amortization</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(101,285)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(94,434)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Capitalized software development costs, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,857 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,315 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:7pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Capitalized software development costs were $1.3 million and $4.2 million for the three months ended June 30, 2023 and 2022, respectively, and $2.3 million and $8.3 million for the six months ended June 30, 2023 and 2022, respectively. Amortization expense with respect to capitalized software development costs totaled $4.9 million and $6.0 million for the three months ended June 30, 2023 and 2022, respectively, and $10.8 million and $12.0 million for the six months ended June 30, 2023 and 2022, respectively. During the three and six months ended June 30, 2023, we disposed of $1.3 million and $3.5 million, respectively, of fully amortized capitalized software development costs. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future amortization expense with respect to capitalized software development costs as of June 30, 2023 is estimated as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:84.426%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.644%"></td><td style="width:0.1%"></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Years Ending December 31,</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,580 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,042 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,012 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,223 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">    Total amortization expense</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,857 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Capitalized software development costs were as follows (in thousands): </span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:69.952%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.500%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">June 30,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Capitalized software development costs, gross</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">128,142 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">129,749 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: Accumulated amortization</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(101,285)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(94,434)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Capitalized software development costs, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,857 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,315 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 128142000 129749000 101285000 94434000 26857000 35315000 1300000 4200000 2300000 8300000 4900000 6000000 10800000 12000000.0 1300000 3500000 <div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future amortization expense with respect to capitalized software development costs as of June 30, 2023 is estimated as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:84.426%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.644%"></td><td style="width:0.1%"></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Years Ending December 31,</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,580 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,042 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,012 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,223 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">    Total amortization expense</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,857 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 8580000 12042000 5012000 1223000 26857000 Intangible Assets, net<div style="margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets consisted of the following (in thousands, except years):</span></div><div style="margin-top:11pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:37.992%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.394%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.394%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.394%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.398%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">June 30, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Net Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted Average Useful Life in Years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,670 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,559)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Database</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,710 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,120)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,590 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,539 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,539)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks and trade names</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,520 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,367)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">153 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Partner relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">680 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(680)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,340 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,606)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">734 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Domain names</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">90 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(85)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Patents</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">252 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(252)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total intangible assets, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,801 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(19,208)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,593 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.8</span></td></tr></table></div><div style="margin-top:1pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:37.935%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.666%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.373%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.373%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.379%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Net Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted Average Useful Life in Years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,670 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,448)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">222 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Database</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,710 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,884)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,826 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,539 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,539)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks and trade names</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,520 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,211)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">309 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Partner relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">680 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(680)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,340 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,872)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,468 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Domain names</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">90 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(82)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Patents</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">252 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(252)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total intangible assets, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,801 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(17,968)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,833 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.7</span></td></tr></table></div><div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"><span><br/></span></div><div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortization expense with respect to intangible assets totaled $0.6 million and $1.2 million for the three months ended June 30, 2023 and 2022, respectively, and $1.2 million and $2.3 million for the six months ended June 30, 2023 and 2022, respectively. Future amortization expense with respect to intangible assets as of June 30, 2023 is estimated as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:85.449%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.621%"></td><td style="width:0.1%"></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Years Ending December 31,</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,236 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">473 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">471 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">471 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">471 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">471 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">    Total amortization expense</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,593 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets consisted of the following (in thousands, except years):</span></div><div style="margin-top:11pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:37.992%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.394%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.394%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.394%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.398%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">June 30, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Net Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted Average Useful Life in Years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,670 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,559)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Database</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,710 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,120)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,590 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,539 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,539)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks and trade names</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,520 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,367)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">153 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Partner relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">680 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(680)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,340 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,606)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">734 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Domain names</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">90 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(85)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Patents</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">252 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(252)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total intangible assets, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,801 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(19,208)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,593 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.8</span></td></tr></table></div><div style="margin-top:1pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:37.935%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.666%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.373%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.373%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.379%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Net Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted Average Useful Life in Years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,670 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,448)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">222 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Database</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,710 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,884)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,826 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,539 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,539)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks and trade names</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,520 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,211)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">309 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Partner relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">680 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(680)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,340 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,872)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,468 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Domain names</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">90 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(82)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Patents</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">252 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(252)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total intangible assets, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,801 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(17,968)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,833 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.7</span></td></tr></table></div> 1670000 1559000 111000 P5Y 4710000 2120000 2590000 P10Y 6539000 6539000 0 P4Y 1520000 1367000 153000 P5Y 680000 680000 0 P3Y 7340000 6606000 734000 P5Y 90000 85000 5000 P5Y 252000 252000 0 P5Y 22801000 19208000 3593000 P5Y9M18D 1670000 1448000 222000 P5Y 4710000 1884000 2826000 P10Y 6539000 6539000 0 P4Y 1520000 1211000 309000 P5Y 680000 680000 0 P3Y 7340000 5872000 1468000 P5Y 90000 82000 8000 P5Y 252000 252000 0 P5Y 22801000 17968000 4833000 P4Y8M12D 600000 1200000 1200000 2300000 Future amortization expense with respect to intangible assets as of June 30, 2023 is estimated as follows (in thousands):<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:85.449%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.621%"></td><td style="width:0.1%"></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Years Ending December 31,</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,236 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">473 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">471 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">471 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">471 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">471 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">    Total amortization expense</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,593 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 1236000 473000 471000 471000 471000 471000 3593000 Accrued Employee Expenses<div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued employee expenses consisted of the following (in thousands): </span></div><div style="margin-bottom:1pt;margin-top:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:69.806%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.792%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">June 30,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued vacation</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,523 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,067 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued bonuses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,028 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,806 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued severance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">515 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">496 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued payroll and other</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,381 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,007 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">    Total accrued employee expenses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,447 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,376 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the first quarter of 2023, we accrued $14.9 million of severance related to separation costs associated with our former Chief Executive Officer's Transition and Separation Agreement, dated March 1, 2023 ("Separation Agreement"). The $14.9 million was fully paid in the second quarter of 2023.</span></div> <div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued employee expenses consisted of the following (in thousands): </span></div><div style="margin-bottom:1pt;margin-top:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:69.806%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.792%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">June 30,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued vacation</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,523 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,067 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued bonuses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,028 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,806 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued severance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">515 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">496 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued payroll and other</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,381 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,007 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">    Total accrued employee expenses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,447 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,376 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 13523000 12067000 10028000 13806000 515000 496000 7381000 8007000 31447000 34376000 14900000 14900000 Leases<div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating leases for our corporate offices have remaining lease terms ranging from <span style="-sec-ix-hidden:f-637">one</span> to ten years, some of which include options to extend the leases for up to ten years. These options to extend have not been recognized as part of our operating lease right-of-use assets and lease liabilities as it is not reasonably certain that we will exercise these options. Our lease agreements do not contain any residual value guarantees or material restrictive covenants. Certain leases contain provisions for property-related costs that are variable in nature for which we are responsible, including common area maintenance, which are expensed as incurred. </span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of lease expense recognized in the Condensed Consolidated Statements of Operations were as follows (in thousands):</span></div><div style="margin-bottom:1pt;margin-top:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:41.443%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.795%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">June 30,</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Six Months Ended</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">June 30,</span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,131 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,468 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,276 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,915 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Variable lease cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">448 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">252 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,021 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">375 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">  Total lease cost</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,579 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,720 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,297 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,290 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:3pt;text-align:justify;text-indent:36pt"><span><br/></span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease-related assets and liabilities were as follows (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.391%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.791%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">June 30,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Assets</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,308 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,485 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><span style="-sec-ix-hidden:f-656"><span style="-sec-ix-hidden:f-657">Other current liabilities</span></span></span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,052 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,357 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39,554 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,237 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease liabilities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,606 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">53,594 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:5pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the second quarter of 2022, we decided to exit and make available for sublease certain leased office spaces. As a result, we recorded an impairment of $19.4 million consisting of $15.7 million related to ROU assets and $3.7 million related to property and equipment associated with our leased office spaces. These charges were recorded within General and administrative expenses in our Condensed Consolidated Statements of Operations.</span></div><div style="margin-bottom:6pt;margin-top:5pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2023, we entered into an amendment to the lease agreement for our San Diego facility (the "San Diego Lease"). We remeasured the lease liability and recorded a reduction to the lease liability and right-of-use asset using the discount rate at the modification date, which resulted in a gain of $2.4 million in the Condensed Consolidated Statements of Operations. </span></div><div style="margin-bottom:6pt;margin-top:5pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2023, we entered into a second amendment to reduce the rentable square footage and our future rental payment obligations under the San Diego Lease pursuant to which we made a one-time payment of $2.9 million. We again remeasured the lease liability and recorded a reduction to the lease liability using the discount rate at the modification date. As a result, we recorded a gain of $1.9 million in the Condensed Consolidated Statements of Operations. </span></div><div style="margin-bottom:6pt;margin-top:6pt;text-align:justify;text-indent:31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In July 2023, we entered into an agreement to sublet one of our office spaces in Santa Barbara through December 31, 2031. </span></div><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum lease payments under non-cancellable leases as of June 30, 2023 were as follows (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:84.990%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.810%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Years ending December 31, </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(793)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,063 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,168 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,345 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,528 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,090 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total future minimum lease payments</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54,401 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: imputed interest</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,795)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,606 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:5pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum lease payments for the years ending December 31, 2023 and 2024 are presented net of tenant improvement allowances of $3.7 million and $0.7 million respectively.</span></div> P10Y P10Y <div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of lease expense recognized in the Condensed Consolidated Statements of Operations were as follows (in thousands):</span></div><div style="margin-bottom:1pt;margin-top:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:41.443%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.795%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">June 30,</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Six Months Ended</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">June 30,</span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,131 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,468 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,276 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,915 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Variable lease cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">448 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">252 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,021 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">375 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">  Total lease cost</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,579 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,720 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,297 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,290 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 1131000 1468000 2276000 2915000 448000 252000 1021000 375000 1579000 1720000 3297000 3290000 <div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease-related assets and liabilities were as follows (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.391%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.791%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">June 30,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Assets</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,308 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,485 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><span style="-sec-ix-hidden:f-656"><span style="-sec-ix-hidden:f-657">Other current liabilities</span></span></span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,052 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,357 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39,554 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,237 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease liabilities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,606 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">53,594 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 20308000 23485000 3052000 3357000 39554000 50237000 42606000 53594000 19400000 15700000 3700000 2400000 2900000 1900000 <div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum lease payments under non-cancellable leases as of June 30, 2023 were as follows (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:84.990%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.810%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Years ending December 31, </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(793)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,063 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,168 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,345 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,528 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,090 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total future minimum lease payments</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54,401 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: imputed interest</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,795)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,606 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:5pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum lease payments for the years ending December 31, 2023 and 2024 are presented net of tenant improvement allowances of $3.7 million and $0.7 million respectively.</span></div> -793000 5063000 6168000 6345000 6528000 31090000 54401000 11795000 42606000 3700000 700000 Commitments and Contingencies<div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Legal Liability to Landlord Insurance</span></div><div style="margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have a wholly owned subsidiary, Terra Mar Insurance Company, Inc., which was established in connection with reinsuring liability to landlord insurance policies offered to our customers by our third-party service provider. Each policy has a limit of $100 thousand per incident. We assume a 100% quota share of the liability to landlord insurance policies placed with our customers by our third-party service provider. We accrue for reported claims, and include an estimate of losses incurred but not reported by our property manager customers, in cost of revenue because we bear the risk related to all such claims. Our e</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">stimated liability for reported claims and incurred but not reported claims as of June 30, 2023 and December 31, 2022 was </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$3.2 million and $2.7 million, respectively, and is included in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Other current liabilities</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> on our Condensed Consolidated Balance Sheets.</span></div><div style="margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Included in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Prepaid expenses and other current assets</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> as of June 30, 2023 and December 31, 2022 are $2.8 million</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">and $4.5 million, respectively, of deposits held with a third party related to requirements to maintain collateral for this insurance service.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Legal Proceedings</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time we may become involved in various legal proceedings, investigative inquiries, and other disputes arising from or related to matters incident to the ordinary course of our business activities. We are not currently a party to any matters, nor are we aware of any pending or threatened matters, that we believe would have a material adverse effect on our business, operating results, cash flows or financial condition should such proceedings be resolved unfavorably.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Indemnification</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In the ordinary course of business, we may provide indemnification of varying scope and terms to customers, business partners, investors, directors, officers, and other parties with respect to certain matters, including, but not limited to, losses arising out of our breach of any applicable agreements, intellectual property infringement claims made by third parties, and other liabilities relating to or arising from our services or our acts or omissions. These indemnification provisions may survive termination of the underlying agreement and the maximum potential amount of future payments we could be required to make under these indemnification provisions may not be subject to maximum loss clauses and is indeterminable. We have not incurred any costs as a result of such indemnification obligations and have not recorded any liabilities related to such obligations in the Condensed Consolidated Financial Statements.</span></div> 100000 1 3200000 2700000 2800000 4500000 Stock-Based Compensation<div style="margin-top:6pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock Options</span></div><div style="margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of activity in connection with our stock options for the six months ended June 30, 2023, is as follows (number of shares in thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:51.092%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.104%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.104%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.110%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of<br/>Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted<br/>Average<br/>Exercise<br/>Price per Share</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted<br/>Average<br/>Remaining<br/>Contractual Life<br/>in Years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options outstanding as of December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">516 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12.90 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.7</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">120 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">129.74 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options exercised</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(159)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9.44 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options outstanding as of June 30, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">477 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43.44 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.4</span></td></tr></table></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the six months ended June 30, 2023, we granted our Chief Executive Officer 120,000 stock options of our Class A common stock. These stock options vest based on service conditions with one-third vesting at the end of each of the years ending December 31, 2025, 2026 and 2027. No stock options were granted during the six months ended June 30, 2022. </span></div><div style="margin-bottom:6pt;margin-top:7pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our stock-based compensation expense for stock options was $0.4 million and $0.6 million for the three and six months ended June 30, 2023, respectively. There was no stock-based compensation expense for stock options in the same periods in the prior year. </span></div><div style="margin-bottom:6pt;margin-top:7pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of stock options granted is estimated on the date of grant using the Black-Scholes option-pricing model. The following table summarizes information relating to our stock options granted during six months ended June 30, 2023:</span></div><div style="margin-bottom:6pt;margin-top:7pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:81.063%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.007%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average grant-date fair value per share</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">67.23 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average Black-Scholes model assumptions:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.06 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected term (in years)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.92</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected volatility</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected dividend yield</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> As of June 30, 2023, the total estimated remaining stock-based compensation expense for the aforementioned stock options was $7.5 million, which is expected to be recognized over a weighted average period of 4.5 years.</span></div><div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Stock Units</span></div><div style="margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of activity in connection with our RSUs for the six months ended June 30, 2023, is as follows (number of shares in thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:67.028%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.104%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.108%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted Average Grant Date Fair Value per Share</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested as of December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,162 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">116.88 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">630 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">122.37 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(261)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">116.18 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(196)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115.28 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested as of June 30, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,335 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">119.84 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:7pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Unvested RSUs as of June 30, 2023 were composed of 1.1 million RSUs with only service conditions and 0.2 million PSUs with both service conditions and performance conditions. RSUs granted with only service conditions generally vest over a four-year period. The number of PSUs granted, as included in the above table, assumes achievement of the performance metric at 100% of the performance target. Of the unvested PSUs as of June 30, 2023, 0.1 million are subject to vesting based on the achievement of pre-established performance metrics for the year ending December 31, 2023 and will vest over a three year period, assuming continued employment through each vesting date. The actual number of shares to be issued at the end of the performance period will range from 0% to 142% of the target number of shares depending on achievement relative to the performance metric over the applicable period. The remaining 0.1 million PSUs unvested as of June 30, 2023 are subject to vesting based on the achievement of pre-established performance metrics for three year measurement periods ending December 31, 2023, assuming continued employment throughout the performance period. The actual number of shares to be issued at the end of the performance period will range from 0% to 100% of the initial target awards. Achievement of the performance metric between 100% and 150% of the performance target will result in a performance-based cash bonus payment between 0% and 65% of the initial target awards. </span></div><div style="margin-bottom:6pt;margin-top:7pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognized stock-based compensation expense for the RSUs and PSUs of $10.4 million and $10.5 million for the three months ended June 30, 2023 and 2022, respectively, and $24.1 million and $18.3 million for the six months ended June 30, 2023 and 2022, respectively. Excluded from stock-based compensation expense is capitalized software development costs of $0.2 million and $0.7 million for the three months ended June 30, 2023 and 2022, respectively, and $0.4 million and $1.2 million for the six months ended June 30, 2023 and 2022, respectively. As of June 30, 2023, the total estimated remaining stock-based compensation expense for the aforementioned RSUs and PSUs was $126.2 million, which is expected to be recognized over a weighted average period of 2.7 years.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Stock Awards</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of activity in connection with our restricted stock awards ("RSAs") for the six months ended June 30, 2023 is as follows (number of shares in thousands):</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"> </span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:67.028%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.104%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.108%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of<br/>Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted Average<br/>Grant Date<br/>Fair Value per Share</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested as of December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96.33 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">151.83 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96.33 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested as of June 30, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">151.83 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:7pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have the right to repurchase any unvested RSAs subject to certain conditions. RSAs vest over a one-year period. Our stock-based compensation expense for RSAs was not material for the periods presented.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of June 30, 2023, the total estimated remaining stock-based compensation expense for unvested RSAs with a repurchase right was $0.9 million, which is expected to be recognized over a weighted average period of 0.9 years.</span></div> <div style="margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of activity in connection with our stock options for the six months ended June 30, 2023, is as follows (number of shares in thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:51.092%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.104%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.104%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.110%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of<br/>Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted<br/>Average<br/>Exercise<br/>Price per Share</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted<br/>Average<br/>Remaining<br/>Contractual Life<br/>in Years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options outstanding as of December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">516 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12.90 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.7</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">120 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">129.74 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options exercised</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(159)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9.44 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options outstanding as of June 30, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">477 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43.44 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.4</span></td></tr></table></div> 516000 12.90 P2Y8M12D 120000 129.74 159000 9.44 477000 43.44 P3Y4M24D 120000 0 400000 600000 0 0 The following table summarizes information relating to our stock options granted during six months ended June 30, 2023:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:81.063%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.007%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average grant-date fair value per share</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">67.23 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average Black-Scholes model assumptions:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.06 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected term (in years)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.92</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected volatility</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected dividend yield</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 67.23 0.0406 P6Y11M1D 0.44 0 7500000 P4Y6M <div style="margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of activity in connection with our RSUs for the six months ended June 30, 2023, is as follows (number of shares in thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:67.028%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.104%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.108%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted Average Grant Date Fair Value per Share</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested as of December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,162 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">116.88 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">630 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">122.37 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(261)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">116.18 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(196)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115.28 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested as of June 30, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,335 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">119.84 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 1162000 116.88 630000 122.37 261000 116.18 196000 115.28 1335000 119.84 1100000 200000 P4Y 1 100000 P3Y 0 1.42 100000 P3Y 0 1 1 1.50 0 0.65 10400000 10500000 24100000 18300000 200000 700000 400000 1200000 126200000 P2Y8M12D <div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of activity in connection with our restricted stock awards ("RSAs") for the six months ended June 30, 2023 is as follows (number of shares in thousands):</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"> </span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:67.028%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.104%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.108%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of<br/>Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted Average<br/>Grant Date<br/>Fair Value per Share</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested as of December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96.33 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">151.83 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96.33 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested as of June 30, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">151.83 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 6000 96.33 6000 151.83 6000 96.33 6000 151.83 P1Y 900000 P0Y10M24D Income TaxesWe calculate our provision for (benefit from) income taxes on a quarterly basis by applying an estimated annual effective tax rate to income/loss from operations and by calculating the tax effect of discrete items recognized during the quarter. <div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">For the three and six months ended June 30, 2023, we recorded income tax expense of $19.6 million and $29.6 million representing an effective tax rate of 2,637% and (121)%. The effective tax rate as compared to the U.S. federal statutory rate of 21% differs primarily due to the change in valuation allowance against deferred tax assets, non-deductible officers' compensation and state income taxes, partially offset by tax benefits from research and development tax credits.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We assess our ability to realize our deferred tax assets on a quarterly basis and we establish a valuation allowance if it is more-likely-than-not that some portion of the deferred tax assets will not be realized. We weigh all available positive and negative evidence, including our earnings history and results of recent operations, scheduled reversals of deferred tax liabilities, projected future taxable income and tax planning strategies. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no material changes to our unrecognized tax benefits during the six months ended June 30, 2023.</span></div> 19600000 29600000 26.37 -1.21 Revenue and Other Information<div style="margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents our revenue categories for the three and six months ended June 30, 2023 and 2022 (in thousands):</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"> </span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:51.239%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.015%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended<br/>June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Six Months Ended<br/>June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Core solutions</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,515 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,414 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75,684 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,223 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Value Added Services</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">106,085 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">81,450 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">202,920 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">152,950 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,475 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,586 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,571 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,573 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">147,075 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">117,450 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">283,175 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">222,746 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:5pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our revenue is generated primarily from customers in the United States. All of our property and equipment is located in the United States.</span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Deferred Revenue</span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenue as of June 30, 2023 and December 31, 2022 wa</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">s </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$1.1 million</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> a</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">nd $0.9 million, respectively, and is included in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Other current liabilities</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> on our Condensed Consolidated Balance Sheets. During the six months ended June 30, 2023 and 2022, we recognized</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$0.7 million</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> a</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">nd $2.1 million of revenue, respectively, which were included in the deferred revenue balances as of December 31, 2022 and 2021, respectively.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Remaining Performance Obligations</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of June 30, 2023, the total non-cancelable remaining performance obligations ("RPO") under our contracts with customers was $24 million, and we expect to recognize revenue on approximately 50% of these RPO over the following 12 months, with the balance to be recognized thereafter.</span></div> <div style="margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents our revenue categories for the three and six months ended June 30, 2023 and 2022 (in thousands):</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"> </span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:51.239%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.015%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended<br/>June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Six Months Ended<br/>June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Core solutions</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,515 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,414 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75,684 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,223 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Value Added Services</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">106,085 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">81,450 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">202,920 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">152,950 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,475 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,586 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,571 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,573 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">147,075 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">117,450 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">283,175 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">222,746 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 38515000 32414000 75684000 63223000 106085000 81450000 202920000 152950000 2475000 3586000 4571000 6573000 147075000 117450000 283175000 222746000 1100000 900000 700000 2100000 24000000 0.50 P12M On May 5, 2023, Janet Kerr, a member of our Board of Directors, entered into a prearranged stock selling plan for the sale of up to 1,000 shares of the Company's Class A common stock between August 4, 2023 and December 31, 2023 (the "Sale Period"). Ms. Kerr's trading plan was entered into during an open insider trading window and is intended to satisfy the affirmative defense of Rule 10b5-1(c) under the Exchange Act of 1934, as amended, and the Company's policies regarding insider transactions. May 5, 2023 Janet Kerr Board of Directors 1000 false false false true Includes stock-based compensation expense as follows:Three Months EndedJune 30,Six Months EndedJune 30,2023202220232022Stock-based compensation expense included in costs and operating expenses:Cost of revenue (exclusive of depreciation and amortization)$988 $726 $1,756 $1,084 Sales and marketing444 2,013 2,861 3,473 Research and product development4,348 4,024 9,787 6,830 General and administrative4,992 3,198 10,271 5,992 Total stock-based compensation expense$10,772 $9,961 $24,675 $17,379  EXCEL 68 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( )*A^U8'04UB@0 +$ 0 9&]C4')O<',O87!P+GAM M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGDK7A.YNJQ<&4GPZ4A!0W_J=0U[R;UEA_6\#MI7E!+ P04 M " "2H?M6Z$Q/Y>T K @ $0 &1O8U!R;W!S+V-O&ULS9+! M2L0P$(9?17)O)TU!)71S43PI""XHWD(RNQMLFI",M/OVIG6WB^@#>,S,GV^^ M@>E,E"8D?$XA8B*'^6KR_9"EB1MV((H2()L#>IWKDAA*2UU2>:0]1FP^] M1Q"<7X-'TE:3AAE8Q97(5&>-- DUA73"6[/BXV?J%Y@U@#UZ'"A#4S? U#PQ M'J>^@PM@AA$FG[\+:%?B4OT3NW2 G9)3=FMJ',=Z;)=&PO=&AE M;64O=&AE;64Q+GAM;.U:6W/:.!1^[Z_0>&?V;0O&-H&VM!-S:7;;M)F$[4X? MA1%8C6QY9)&$?[]'-A#+E@WMDDVZFSP$+.G[SD5'Y^@X>?/N+F+HAHB4\GA@ MV2_;UKNW+][@5S(D$4$P&:>O\, *I4Q>M5II ,,X?+&A T%116F]?(+3E'S/X%/F7/Z3H=,H%N,!M8('_.;Z?D3EJ(X53"Q,!J9S]6:\?1 MTDB @LE]E 6Z2?:CTQ4(,@T[.IU8SG9\]L3MGXS*VG0T;1K@X_%X.+;+THMP M' 3@4;N>PIWT;+^D00FTHVG09-CVVJZ1IJJ-4T_3]WW?ZYMHG J-6T_3:W?= MTXZ)QJW0> V^\4^'PZZ)QJO0=.MI)B?]KFNDZ19H0D;CZWH2%;7E0-,@ %AP M=M;,T@.67BGZ=90:V1V[W4%<\%CN.8D1_L;%!-9ITAF6-$9RG9 %#@ WQ-%, M4'RO0;:*X,*2TER0UL\IM5 :")K(@?5'@B'%W*_]]9>[R:0S>IU].LYKE']I MJP&G[;N;SY/\<^CDGZ>3UTU"SG"\+ GQ^R-;88C'(CN]WV6'WV3T=N(]>IP+,BUY1&)$6?R"VZ MY!$XM4D-,A,_")V&F&I0' *D"3&6H8;XM,:L$> 3?;>^",C?C8CWJV^:/5>A M6$G:A/@01AKBG'/F<]%L^P>E1M'V5;SC MFED)O816:I^JAS0^J!XR"@7QN1X^Y7IX"C>6QKQ0KH)[ ?_1VC?"J_B"P#E_ M+GW/I>^Y]#VATK\>WZV22$KYI9+2,6D$N!LT$DN/R+RO JQ GH9%LE" M0AMNZ5/U2I77Y:^Y*+@\6^3IKZ%T/BS/^3Q?Y[3-"S-#MW)+ZK:4OK4F.$KT ML@'37[]EUVY".E,%.70[@:0KX#;;J=W#HXGIB1N0K3 M4I!OP_GIQ7@:XCG9!+E]F%=MY]C1T?OGP5&PH^\\EAW'B/*B(>ZAAIC/PT.' M>7M?F&>5QE T%&ULK"0L1K=@N-?Q+!3@9& MH >#KU$"\E)58#%;Q@,KD*)\ M3(Q%Z'#GEUQ?X]&2X]NF9;5NKREW&6TB4CG":9@39ZO*WF6QP54=SU5;\K"^ M:CVT%4[/_EFMR)\,$4X6"Q)(8Y07IDJB\QE3ON>;G*YZ(G;ZEW?! M8/+]<,E'#^4[YU_T74.N?O;=X_INDSM(3)QYQ1$!=$4"(Y4U#VT%SU&\Z.9X!ZSAW.;>KC"1:S_6-8>^3+?.7#;.MX#7N83 M+$.D?L%]BHJ $:MBOKJO3_DEG#NT>_&!()O\UMND]MW@#'S4JUJE9"L1/TL' M?!^2!F.,6_0T7X\48JVFL:W&VC$,>8!8\PRA9CC?AT6:&C/5BZPYC0IO0=5 MY3_;U UH]@TT')$%7C&9MC:CY$X*/-S^[PVPPL2.X>V+OP%02P,$% @ MDJ'[5N=,M7 X!@ KB, !@ !X;"]W;W)KYR3;?I-NV!"TZ"#C"S3=*^^_T, M!'(]XR 4GK2!\/N&#[;A8V"Z9_R+V%(JT4L81.*JLY4R?M?K"7=+0R(N64PC M^&;->$@D+/)-3\2<$B\M"H,>MJQA+R1^U)E-TW5+/INR1 9^1)<B: +%OSE>W)[U1EWD$?7) GD(]O_2G.@@FX=<9R&X(F2(WK-(;@6ZC3SJ?5W?@QTJ]@H?]NH:&P-_2Z)+Y%@7"%O8 MT>S/XE1Y< FENO*O=L3?,3:#K2G0?90-'=LA[>DW&>>&I8(S@[:QC,G%0.QR0E<6-)A6=V.YJPU M"82V(8UE#0''!>#8N%.WD?3E*[KS XH^).$SY3HP?,X_B.!3Z[@-.S>ZFC--8WI+2M\@IKU>&$ MG6,<^F9Z];A *PD#$C&.%BR))'^%_YX6_D3ZS:V.V%S4%/E(*NPZR$_D!=U[ M,$#]M>]F5\WJ7GPB$@^[EC.8C"=]+:^QN"DO+GEQ'=ZYYT&ZN#A\0*DB?(ST M[6J.'%EH083T Y]$Z(:#ZVJYC2%-N4LOLHWB\0WW0BU!GWYB^TC+;(Y;P4F MH&O"GPDG%UK>-D3(+DW(-KO,6]YB$"\YV_F1JV]H<^9BK@5M0X_LTH]LL]6\ M!5TR(4F _O;CZO.4.7'BV/9(2]J&*=FE*MEFPTF[[!QFP-5@YH"Q-=!BM2%& M=FE&MEEG'I@+[;7@]"?;+#Y@O9X?;=#J-7QF@1;]A#DMEW=:KC:$"9?"A,U*"+HPWQU,]=./LV%30E+/\*U_&B1<*ZF+]F<)6U*N* DVCLP)Q(_:^_; M+,Q533E++\*UO.@^@CEV=L-.S4/) 5S+:4ZLXFS#@W#I0;B6!ZEY&@@].,&& M<>VYZ$3. ^'0V^>N2R$(8KPL4DO&UX$"X]")L5YG"FA;,-!R&ZCSSZ@GZG>D1SE/*!ON/8$ZWOF8N; M7$H/-CM+<<_OF/0. M5NK//N:PRL<+;0B04PJ0<^*>SAO&_#9N)>6)N$]8^TBA#05R2@5RS,(R!T O M@PS(1DME#J@\XYCKFH*5SN.8#44WG]#BG4E9D#6QA.R\SXB:T.( MG%*(G%I"M,A:?97-(E?I U7T,9%"DDA-UK3'X4RJDQ^'+&V0IJFG^#LXS4WP M (^M:6^G8RRER#$[3-:UKT]W[3,I30[4AB YI2 YPQ:Z]IFL)S\";3B44SJ4 M4\^AFG3M,UE1?AQ&WW1MNS^R)Q@/WG3MWM$;$4KATQ=%!'3<))+9RQ'%VN)E ME'GZ"D:OW#Q[D^4]43, @0*ZAE+K<@0_S[.70[(%R>+T_8IG)B4+TX];2CS* MU0;P_9HQ>5A0/U"\HC/['U!+ P04 " "2H?M67N:4$WT& 0'P & M 'AL+W=O,S,1")=(5*3O9IQ\IN9(E4E32^4TBVBIR)B]E&RNW98B'2#2V(>,>WE*EO[GA9$*ENR_N%V):4K.M!1;Y MGA M;\D]O:'RV_:Z5'>+ULLZ*R@3&6>@I'<7LP_P;(43/:"V^#NC>W%T#70HMYQ_ MUS=7ZXN9IQ71G*92NR#JWXZN:)YK3TK'CX/36?N;>N#Q]4_OO]7!JV!NB: K MGO^3K>7F8A;/P)K>D2J77_C^=WH(*-#^4IZ+^B_8-[8AGH&T$I(7A\%*09&Q MYC]Y.$S$T0#HCPQ AP'HJ0/P80"N VV4U6%]))(LSTN^!Z6V5M[T13TW]6@5 M3<;T8[R1I?HV4^/D@HR!KQM>"<+6XGPAE0;M:9$>?N^R^3TT\GM_5.P=P-Y;@#R$+<-7[N$? M::J&PWHXZ@]?J,C;\%$;/JK]X;'PJ[*D3 (BA(K3%DXSWK>/UXOL3&Q)2B]F M:A4)6N[H;/GJ!0R]][;@3N2L%RIN0\4N[\L5$1N@'AI(]07]464[DJO8K5$W MKL+:E:X$NR7RPR0^7^R.PS&M(B\*D]:JI]-O=?I.G5=L1X4L]%,1-*W*3&94 MO'H1(XC>I\WCLBENG 9'6B!.4(0'DDVS.$%)9)<MM3M\"1JTZ T. JKAX*-.T@F'@8;O,L)49.F5>EW1+LC6@#UN]Y$6=#5QN M: G2R740FKH#/QIFA,7*CY.1C(A:W9%3]U0+%I@0(80KO@I!6<3&2#V@N4\K'. ET.MEK\:-XF MIH8PQ,% JZ@FW=*8%FIPD:+;GE)J(BOP(PJ%4TRQ4,S^F MM2,97%,1OK-)_ 4O >A3Q_QWU@^_0AB(GSF\D3[]O>+ZF9=,@1>_K_D,^ MGEDC=H+RV2-+E:.Z%9]G#*1-EV -W=+X(>PAH]Y; M[+PD\OR1/.W B2;!61557A\)'@X*>*$F9J//<7>J7'%A7V F)>>!6?\M5C", M1U3CCJ78S=*OI:JE5?D(A,XTZ_&6"<@Y"J)@6 "F[?H2.YIB-TV_4$G41VI+ M0DJF5K[]$,[2 "8H'$ZCQ2S&*!HYS\ =1_%3."I&5ZM5LLE)A((D&'9<-KM0 M@6QL8H\..=U ->I_75^?&82M:;0T/#8[1\.#.\YB-V=7N>K&P >]V K.'&GL M=//<#]IRKCI,1I=)7U9' M:NQN0IL\O)S.PY,B^E3>^D%WB,;Q2?/0"?QGQWXB;_W8.]YC-^\G\S QWPL- M\]!ETLA:'+VNU.^*_R3E?<:$:H'NU!CO7:22N&Q>OS8WDF_K-YBW7$I>U)<; M2M0#T@;J^SNN-LR'&_U2M'T)OOP/4$L#!!0 ( )*A^U:>.&B\[08 %,= M 8 >&PO=V]R:W-H965T&ULK5G;;N,V$/T5P@V*+.#$ M)$6)DIL8V'7L=HM>%IMM^U#T0;'H6%A9=$4Z2?OU'4J.+^)(V;9YL27JS)!S M.!H>4E>/NOIL5DI9\K0N2G,]6%F[&8]&9K%2Z]1#U@@^>& MC_G]RKJ&T>1JD]ZK6V5_V7RHX&ZT]Y+E:U6:7)>D4LOKP5LVGO/ &=2(7W/U M:(ZNB0OE3NO/[N9]=CV@;D2J4 OK7*3P]Z"FJBB<)QC'GSNG@WV?SO#X^MG[ MO X>@KE+C9KJXK<\LZOK03P@F5JFV\)^U(_?J5U H?.WT(6I?\GC#DL'9+$U M5J]WQC""=5XV_^G3CH@C Q9T&/"= 6\;A!T&PJ2ETB&')!?KF](>=G;\@9R4OR::6W M)BTSN8=/0?D1UW:E2$S&$&&V,_Z[:,>^Q&PL*>"/U,Q MY;T.O]^6ER2@0\(I#Y#QW'RY._]^5"K]4A M#\CO;^^,K: 0_(%-=>-,X,Y<=1R;3;I0UP,H?T95#VHP^?HK%M%O,)Y?T]GL M-9W-7\G9R8R(_8R(/N^3C^I!E5N%L=\81K6A6TH>)DQ(*L.KT<,QKPB,21'2 M4]C,A_$X8&UO;%JI)<%!RGY5+<(RC?B<='$EOP%Q2V@KK!D%% M2=)ZO6<^*HP$;3$Y1U L80*G*-Y3%+]0Z8Q*J\6J9FE3Z6R[L)!F#R"#-VXM MPOCJ]]C!5^R-/I \"EI\^2@>1;%L\>6CI$AXNVCZJ)!1VI%2R9ZOI#>Z;U4) MI;)H7KX,1&+N5FJGV#&F^GUU,)7X;TP0*&91*W($%0>GU,P&PKT$#Y]X +B+9SGD,Q9/$6W-0G.0T:8>-X(0(DZ0C[(.@ M9[WJ=/*S7:F*G!<0_1O8NCEY/R2EPJKI=.?J9!#^A/L@T5Y%,$>!-],^*.B: MY8-:9OUR^7UI%4@A^V*H DO;N!TK@@J]U]L'@7+V)AA!A7%'N ?9S'H5X/-^ M;3>]=VJI*^76SH>\/@."VQT1Q*9/'2]ZB"QA[3T$ H)TE^TYG:$X(:@W]PA. M@&+K*G8'S2'D]C/[V"-7.:V?N_?O$P%HA"32'A5WX?Q(&HS@8"2B'I% MWX==B*Z7_B V6;]0_$E9XE("#5)Z.[@+%B>4M:-$<%#AI%?A$%PH*&/M2!&< M$#SL4$'L(!M9O\I[#I9 68=E;KV&R3>KM(*7_RXU^8*W7"CB%Z:XT%I002Z3B% MFJ]SCOH$G7Z,/&7JH!UYOW;\-TP= M)U4?5X@0[. *079PA?I$N<)\]G+E!.9IRT%[\?]P,@A;+5BUBVT&_!FK%Y\O MW">2S#'KU'BS1=DIM^Z]Y[^IO6*WV*1O?,*1]QL9SK/TMY^,9QSQ!1L.3^K/7Z#"DYG/CCVEU MGY>&%&H)PZ.7$EZBJOF"U]Q8O:F_.-UI:_6ZOERI-%.5 \#SI=;V^<9UL/^. M.OD'4$L#!!0 ( )*A^U9,5=Z-W@, ,40 8 >&PO=V]R:W-H965T M&ULM5AKV9C:'==F:GF7BW^UD! MV68"B$K"SO;7]TH0U@:%2;KD2Y#D<\]]Z"!TLSA2]L#WA CT6.0E7QI[(:IK MT^3)GA287]&*E/#+EK(""YBRG%NVRW%W+!7"TJO",;(KY4MPQF9L>29@4I>49+ MQ,AV:7RPKV-;&2C$WQDY\I,QDJG<4_H@)W^D2\.2$9&<)$)28'@-'TB8TDWP) MS;GZBXXMUC)04G-!B]88(BBRLGGBQ[80)P; HS=P6@.G;^ ]8^"V!NY+/7BM M@?=2#[/60*5N-KFKPD58X-6"T2-B$@ULA $Y$E.+]$[]&7380N MWEVB=R@KT><]K3DN4[XP!40G?9A)&\E-$XGS3"0N^D2!F*,8(DHU]M&XO3]B M;T)5NM(X3Z6Y<48)_ZS+*^1:OR#'\/J*5QY;AY5M!0'$=#BM MY1 5AKY]#HJ&(,?S@]DY*M8X#-P@[%!G^7M=_MYH_FO*A7P5&#F0LB;H@CPF M>AQ@[F/5 ML09DS3V]6OTN=7\T]0W."5="A*__ YS5Y4Z7YRC):T4X)5DT)5D\$=G93@3= M3@1O),)@H O/\WHB'&(X'9:R;N%+NM1QM=*"*RLVT)NVT)WTB2X5"2KM<_ M@R^D)-QJ"PF >]#0Y!/ESU])KTK:^7WBMT?1_)R7<9O/F,YW"E3KC0MYN M#]J4Q\E>*\A)V:))V>*IV,ZWY:0/L=](E2WQZ87/"\/^!5.#$]%=!BJN&>X)0P"8#? MMY2*IXETT/WG8O4?4$L#!!0 ( )*A^U:.PR991P, ( + 8 >&PO M=V]R:W-H965T&ULK59M;],P$/XK5D"(26QY;];21MK:(H9X MF39>/B ^>,FUB9;8Q7;:P:_GG&2AS;QJ@GY);.>>YWQWC^,;;[BXE1F (G=E MP>3$RI1:C6Q;)AF45)[P%3#\LN"BI JG8FG+E0":UJ"RL#W'&=@ES9D5C^NU M2Q&/>:6*G,&E(+(J2RI^G4/!-Q/+M>X7KO)EIO2"'8]7= G7H+ZL+@7.[(XE MS4M@,N>,"%A,K#-W-(^T?6WP-8>-W!H3'@A:0/!4#V$+J$.WF]CKQ,VHHO%8\ T1VAK9]*#.?HW&?.5,Z^1:"?R:(T[% M4\XD+_*4*DC)M<(7BD!)PA=DRDN47J8UL0;RGDM)CLF7ZQEY^?R(/"Y%,]I)Z_>\\>L]XM44\Q_,-^YD^'>Z9POD_[_-_]KZ3#+]3A5_S^8_P=4)XJ(,+ MEO 2R/>S&ZD$'O,?IMHW[(&97?_Z1G)%$YA82"Q!K,&*7SQS!\YK4^(/238[ M)-G\0&0[)0JZ$@7[V../>(>\+/!0'N%)U"4QU:&A&-04^L98Q\?NZ=!QQ_9Z M.\,&,V\XC)Q=LYG!+ PP5XC2C; E2WP<5PU:ER'_C5;+$%D4V ME0&4*+8$.5N#5/5/14)2B5SE8+PX&G?AEGY\/^@I]J'-<>#T]?K0R'6&44^M M!B8W"D*S6*,N)]'^G.S(5"?!%&AD.IWAH+?#J<',=_P'I]-@%GI#MY>YN<$L M&#B.UPO8WFHI2A#+NI>3>/XJIII[I%OMVL6SNDOJK9^[HZEK6)]A>]ET@W_I MF][T Q5++9X"%NC*.8FP.*+I]YJ)XJNZH;GA"MNC>IAABPQ"&^#W!>?J?J(= M=$UW_ =02P,$% @ DJ'[5BX))=^P#0 SY< !@ !X;"]W;W)K[FTG: M[L/./K 2;6DBB2Y)Q^FW7U!6!8&\ @GGV"^QI%S\+D@> N3!%77U6)2?JG6> MU\Z7W79?78_6=7W_PV12+=?Y+JN^+^[SO?R?VZ+<9;5\6]Y-JOLRSU:'1KOM MQ'?=>+++-OO1S=7AL_?ES57Q4&\W^_Q]Z50/NUU6_O$VWQ:/UR-O].<''S9W MZ[KY8')S=9_=Y1_S^I?[]Z5\-SE15IM=OJ\VQ=XI\]OKT8_>#R*>-@T.$;]N M\L?J[+73;,IO1?&I>?-N=3URFQ[EVWQ9-XA,_OF%? MY_$8ZXZ9C+?](B=:54]S*=\7RT[K8KO*R^IN3_OZPJ?]PQLXO'Q?.M]^\ M<;YQ-GOGYW7Q4&7[574UJ66_&OID>>S#VZ<^^!?Z\'-19UNBV=S<;%[L=E+] MA\XY\VU65$(_;M>YZ4\:#LY9*V;L>1S[KS;R[[FSK?_+*KJ#8'G/<=! M#G[50_G'T_83[86Y_8>\EH.E[%N:E?O-_JXEA8F4YDF?_DF?_H$97F"^S>\V M^P8F1ZAMME_*K9-[L%IG95Z]<;+:6>3+[YW ^\[Q7=^CM&?D-U/##]5]MLRO M1W)'5GGY.1_=_/4O7NS^G5+D$RPZP)IIX?.--PN]Q'7=J\GG&@77-C3<@!JQA!Y MDLK=>WCUIID;R/GCOQ^*[=:1%R"/6;GZ'W4$0N29BX0MD+ 4"6-(&$?"! BF MZ3(ZZ3(RC@#IE[Q<;J0NY<7,81YWBOMF4J[.9Q-*@D:LK02C[IQ S!S(E"D2 MQI PCH0)$$S35GS25OP\;5%ZBKL2: M@;DQG.U(A8>F WC-D0HZ$"1!,$TER M$DEB%,EA!APW-]FKYG[B7EZP9XU(*(TDG;V;..6,:>FP2M< M_35VM10.9:TY=4&Z>'TCFCFQ[9!VI)T?YBCQNX,:$3>F E-H]QB4QJ$T@:+I M"CLSLCVCPIX,T:5FB&Z+BO:C/>)D#L*H-1B9,]J.1E!:"J6Q83N$0Y,*%$T7 MC'*6/;.U_"\YB7W;**3QJ!KCG%1*U\@=>Z$_;5^/FW-92P5)2Z$T!J5Q*$WT M'RU=*\I!]LP6N$TB(EI M"ME#!J5Q*$V@:+J2E$/N&8W.MI(&J2?L'N_I- G;U\['.--:1'](2F3SDNG, M;RTT,")N[$7!K#UE$&'4@@25-D@\S[UPZBKKUS-[OU^_@FA.8'WV$C8PO89( M1=*+B- >,BB-0VD"1=/%I+Q>SVSV/F\IT>L:I^1:XC'.> +WAJ1$-G(YD8@C MUA.I*/+\);(:5A0]Y9QZR2NN*7I(LW .I2V@M!1*8U :A]($BJ8+5)FVGMFU M'78?T?5*QV$H3Z3V$("T$1=06@JE,2B-0VD"1=,5I0Q8S^S FN\V_O&PE].- M:[A>1/J&;?A4W<;R!XR*(U#:0)%TXOGE.WJFVW7[MU& MKWK\KK/IQ^%LUKY8.<:9+E;Z0U(BFS>-HK 5QX@X>;'2N=N@PJBK%2JMFWCA MA;L-7[F0OMF%[+W;Z+W;,R>P+ECL&GL7O (B\H)7 .TA@](XE"90-%U,9[6O MML6O@P34-<%(N^ 89SR!>T-2(AMI%Q!QE%U A9$G,)'68!?XRNGS@U>\W?"A MQA^4MH#24BB-06D<2A,HFBY092#Z/0;BX*?FS-:RP5:WSIL$Q@T*8?2!(JF"T:9M;ZYSO45*AC- M/;">QKKEJG'WEF>;FSED/ M=5 O=]@F,&A2#J4)%$W7EC)I?;-)^W(5C>;$UB-=K;.:$MK,?E)9":6S0_N#0G )%T^6BG.D M4#L;4%[N;)9TE *MG8724BB-06D<2A/]1TO7RMG3%[ZF=K9W/=),MY[$J-I9 M3,I.#KZR=I05$U,[&\I2*VR=P?^UL?TA*97/E'-CV18BXL1=/ M.P_C&5@\2\1- S^97CA_E1T;O&;M; !U7J&T!9260FD,2N-0FD#1=($J@S8P M&[3/7LPV92CD*!%D%#:2F4QJ T#J6)_J.E M:T79[J&Y"GKXTZ("4D50GSWL5CC[;D)]5X>(],+$Z]X:IM >,BB-0VD"1=.5 MI/SQL,'4BR^LEX7**0[-3O'7KW>;$UB?N]2S%\CU;B+RPGHWM(<,2N-0FD#1 M])^<4$9R9#:2G[?>'1'/3*#6NZFX]B])]#]^(2(>]D"M=Q-QU'HW%4:=OT2< M8;T[4E9LY+WB>G<$=5VAM 64ED)I#$KC4)I T72!*G,V,INSS_\A&NH'Q;KS MP-R\).X-2NW*R*(N''4 M?BX\IZ+(*V(BZ\R/+SP]-5*V961;=&OK1ID36)^[5($MZ481D9?.7:AC":5Q M*$V@:+J8E*\9F7W-WN>1T0(B#$C*D#K&&4_?WI"4RD894D0<84A14>3IVXTS M&%*1\O^BZ6O>T$*+9J&T!9260FD,2N-0FD#1=($JQS1Z9FUM[PTMU"B-NO;G M+"+F%&BE+93&H#0.I0D43?^!5>6DQCU/L;7ZB57B,05G _&37LP);<4"]6Z';0*#)N50FD#1 M=,$H4S9^\8K9OMG.W /;V2[NFL%3POV )DVA- :E<2A-H&BZ')5[&YO=VQ*,J+CKRFP M[5U0,M.MIS"JP)92,MACVP+;?O405;'4RG?M](J5>;N[6IS=U<7\]DG?[OQ5U7>P.+]=YMLK+)D#^_VU1U'^^F4C^ M8U%^.N2X^3]02P,$% @ DJ'[5AS7Y%2H!P R, !@ !X;"]W;W)K M[7EY04418IVFG]);'DX>B9&4 M*O!<%I6\FFR4VE[,9C+;T)+(#WQ+*_W-FHN2*'TI'F=R*RC)ZT5E,4-1E,Y* MPJK)ZK*^=R=6EWRG"E;1.P'DKBR)>+FA!7^ZFL#)ZXW/['&CS(W9ZG)+'ND] M5;]M[X2^FG5: 4'75Y-K>'$;8[.@EO@WHT^R]QD84QXX_VHN?LZO M)I%!1 N:*:."Z'][>DN+PFC2./YHE4ZZ9YJ%_<^OVG^HC=?&/!!);WGQ'Y:K MS=5D,0$Y79-=H3[SIY]H:U!B]&6\D/5?\-3*1A.0[:3B9;M8(RA9U?PGSZTC M>@NT'O\"U"Y PP7QR +<+J@]-VN0U69])(JL+@5_ L)(:VWF0^V;>K6VAE4F MC/=*Z&^97J=6M[S*=5!H#O0GR0N6$Z4O[I7^IZ.E).!K<$OD!OR@(R[!%/QV M_Q%\^^X[\ ZP"GS9\)TD52XO9TJC,3IG6?ODF^;):.3)*?B%5VHCP?<:07ZX M?J:MZ$Q!KZ; ET MS@FB6/78;%JF&/7ZJ]$7^_69?+Z06Y+1JXE.6$G%GDY6__@&IM$_?<:>2=F! MZ7%G>AS2OOI5EY^"2Z^1S((PLO9O@_?(Q;'*)EW8@? D@Y8 M$HS)=?Z[3JEF7RNNRU#&JXP5%%0M8G/7?,Y,\+[=F;Q@U7=@*_B>Z5T*'EZ\ MT;SP69J<,YQG4G;@M;3S6AH,YT>JE6:,-'6WR@$IN5#L__4-G^6-NJ07/(@A M3@8A]D@E*1Z)\+S#.@]BO>Y!,Z7+1JN@NMH#8D('^!<=_D40_\_EEC!A=NA[LQ%]V!;.8Z,!,%<"+N=+Y$>V[) M M@\A^U#T!T$YM_%CRG*U9-KH%E@Z$:8P6PRQWI2(_2!A9/HN.;-8U%:+.VXR7 M%"CR[*^VK9[^PXQQ+@QBO%<\^SHUW4<.-$C=DLG:D>\-Z&*7 MU\5%OJ;9D!Q;^-#!AM((S85* MI2.0+-_"(X2[(=4CE:8MZ=7H.L7KJE4P\L"*\7H-S\J_Y])VZ S+P#!,P==9 MQG>&YG3EIFQ/'@KJM3EVHX43/"PH/C&T1/%(R"P=PR!OK>X$U>4N!_39Y !M MXL3-UM*]K\[B2@5J=*O[$%2,G"3VB:7)2#6$EA1AF!7K# C!<_D-IW@(SA6: M0AR-I:=E07B$!E_#OR4OH[%W^6NZ7#CN\[#<"$=#2W(PS'(:GMCIXD?+;<%? M*.TV@!>G2V=3-(<.4(\81J-8+>W!,.]U6$,072+33W:RR)7"<#&R$9%E/!1F MO"^&X4*!1BZ-H03V,J =CURQL2Q!ENI0F.H^#?JO7A'V0G7I:AJG>#&$ZA'3 M+28<06M9#9W :DA@.]7.VQ>B*:9^/;$=D60X%B:.>K=XXG7B-P!Z:3I,A M3WO$<+^-.S3"LA.*3YR-6;6G\A2\0;I[*SF?2]NA^9;VT!':VXEL0PS?Z0F% M[ DK3.I.UUQ,)='3:..4>DSU^L+#:'.<+)W@>>3B>!F-]*_(4A\*4]^=X!FE MN6Q":"#_54L\,V $AR3ID1HSP1(D"A/DH0DE43M1[[V_:(=+DO$R=;I>GQB. MER-LCRR=HC"='NPG70UT#5 O=2]%_]BQK8'M1>TC5C@?#FD^L21:C@RZR!(K M"A/K+=DR18K>L"[Y6CT104%.][3@-7 ](,D1IWMF3 03![Y'3'][:-][S/)=S4:5\]0B.;'UM2QF%2[CBDI9"3JS#V M\"Y*TW38Z?CD($Z7(P,#M@2-T8G$L685J;(3( <9_\VGJF?2=FA^[T@Y3/Z# M/6>.$33CU^E#GZG(V$A_BET:ATDT; ]4FDTEB>6ZW%X$M7M*7AB:K/A17VP MH6MJ?<0J-R;3]?2D"CJ:(9ZY$V*4I$/D'KFD3XB'V"U1XS!1.XER\J[S4"^$ M\R0> O=1]'(T3RQ#XS!#&^ YS43='XT[?\&_& K\.82<"9MAZZP7(_#7']# M'UE5F1UHN)X*QKW'@]@E[;ENK1QV<<62!5J,);WE=ASF]N_-.4X0GV=BCI?Q M<(CRB,5H,1\Y*XPM><=1<$-];G_Y85WO<7J&@/]>/^@;N@#\S_L#5[!M>.MN M.Y>V0S_93B$.=PHUWQH?#!WCM=QS)!VGRV%,/6(Q2M%83&UO$(>']\^#,#5G MZ4W=YD<.ZV)W6$?)L*LY(G0(VW)Z'.;T+UPWP7^S0+>/2(]DDT?,ETVSWNL$ M)16/]5L6$M0GBLW/\=W=[DV.Z_K]A<']&WAQV[R/8=4TKX?\0H0N8Q(4=*U5 M1A_FVJFB>>.BN5!\6[^T\,"5XF7]<4-)3H41T-^O.5>O%^8!W7LOJS\!4$L# M!!0 ( )*A^U;@3)Y!"@, )X& 8 >&PO=V]R:W-H965T&ULE5513]LP$/XK)T^:-JEJ2@ML8FTE"D-C$@.!MCU,>W#C2VKAV.'L M$-BOW]E) Y, L9?:/M]]]]V7\W7>.KKV&\0 =Y6Q?B$V(=0'6>;S#5;2CUV- MEF\*1Y4,?*0R\S6A5"FH,MET,MG/*JFM6,Z3[8*6<]<$HRU>$/BFJB3=K]"X M=B%VQ-9PJAU>$S#M Z:)=Y/YSOMY%A@WWF9YC['J,*;/8.S#F;-AX^&S5:C^C<^8ST!JNB6U MFKX(^+6Q8YA-1C"=3&#!Y^':Y](.ZBWT\IU!'8?9I ?%D'OI8Y+D0= M<]$MBN7;-SO[DT\OE+<[E+?[$OHKO^'_8AS6]0G+Y$9P:O,QO!,MC@2(Q@MP M!,(U)-Z#]B#!\##0MH2:W*U62!$E-ZY1L.ZQN&,M/_$H)+#V313: X\4"!OD MM\U*HX]2@[:*FY[NQW#>T"-?R>04>EU:5! Q3XP(*-G^JQ[-',X'K*-!E9 M$=?8T(V/P3H,W\-NYCRX=Y/[3%*I63"#!8=.QA_V!% W#;M#<'6:0&L76+RT MW7#/($4'OB^<"]M#3##\)2W_ E!+ P04 " "2H?M6*&8JUH@( "D%0 M& 'AL+W=O*L3P;#$*V4H4,AZY4%CL+YPL9\>J7@U!Z)7,^ M5)C!>#@\&112V][E.:_=^LMS5T6CK;KU(E1%(?WF2AFWONB->LW"G5ZN(BT, M+L]+N50S%>_+6X^W0"?VJU#IUG09;,G?M* M+[_D%[TA*:2,RB)QD/AY4-?*&&($-?ZL>?9:D72P^]QPOV';8= MQ]5%[[0GS3IB:P*T17U86A0:)M^Y6/M MA\Z!T^$S!\;U@3'KG02QEC_+*"_/O5L+3]3@1@]L*I^&(]?H;WB?C- MV;@*XH/-5;Y[?@ ]6V7'C;)7XQ<9_EK90S$9]L5X.)Z\P&_2&C]A?I-G^.VQ M4OQK.@_1(UG^O<_@Q.]H/S\JH+-0RDQ=]% A0?D'U;O\\8?1R?#]"]H>M=H> MO<3]?PS5_XNWN))!!R*\)1-ME*FZ;/[=DY]6"E68N:*4=D,[E955KJ/*Q;5# MBMB0G@(.Y)*6;[25-M/2B!GD*(!!#&*MO!+P;RD]2+1EGCX'H4+QQ!6_U[)+ MKW&^-)"^5%9Y:XMZ\ B@GCSXP^GX_'P_=^GTUM^'+U_*X!^ MH([*ZT(L6J6T3:@(!QR*:^4C0+"[R%[)=3RL7&5R"!"$ M^[7.7RJ;@)75<)4733"_;Q#YA3SOE6$BZ\CS7:<0OZFU%<[=J=+YV!?KE!I0L5SB,OMP+:#'C9K[BI+XIP00AYQP&R7]@;)YQS-S:=A_J>L1PQR! M?2!EO2M>9\JA^ /DVT1NDN0U[JWM[C?YZ$IMR;&HL4):M$8BZPLDCI#Y%_0$ M/M9GY73@/ =IRBUVK5=9Y3VM0Z<"E%9E*@3R#24RR5A([;=FT'DR^Q5:)^]B M./"2-4!ZHQ&&5D#0CZ)(\*\(_@7 6[7@+9#.%/56,\U%D0,\J$N3/BD_$E/U M6**+4P@:]2LX@T)+S$G\S^!3S)47DU$3_3N5&1D"(Q(GZF=BV*Q1<.N*E07! M16C2[ADG= (&[:YE6(D;C#2!\[".7$:K"UY-J=2ZAZ!'?4!*5 P='U:-<"8#,;FWO)+!4QR M=-QT8,2K/RM-.+5-.U*DD%^54*T4RC#XL"I*$A*@IXQ"+A8PJPX:U2L\UO@5 M:H!>U75OM)QKDUS1X, 6(XD8NI'/2/ISYY*DG/6IC0IE0Z7WCUH'D%3#Z =$>4C!.<5U]B6/7<0(Q MROY0S;^PRYSX4N5+=C915RFJ6W_7\+ MVP=I*K4;7&TQM%0-+LA21VGT?V!N M<(NX)G$YC#6N9#&9"T275"5&<_3&A69W._"+#;IBO%7>,P[R":CBV;,0.7<> M PR7/@Z0VCDGBY(ICFWJ&ZRHKA/ZM*(&N2#+;&BK"Y;_P*AI5WJN5$MXS;A,M:NF]P5L,"; M31U9[NQH'0=T$2"O%)0XJ=C>K%>*LX=!P!&ZNNQKHGS;?U(U'<8=PAV6U+S%:49[1CFITL[03>H4;+G4$BB%1,O!S:WD/ +*9L M0GJ^:L^3@Y"DF:3B (\-5Q!4T=&DM&L9&XUHY]WQZT'GU/\]W<]J#WGF@ON? MPQ.$S#$.M^-@E)0;<[JOIB:W<,:D3$];-0J#%RKN#=A^Y4V-U5%:5&ARNRSWGW#VKLJ@%=X>P;%O5([%S#,YX^["]R)\6_< M>?K\K>Y=*5"\BH#7U',GQ_WC=Q,Q.>K_-!GQVVA,;Z>GQ^(CNOK94V:51;72 M GA%K[FGUYP[> @TK7RV(M@X%4?B'?[^NEKOZ9:NLSKXIJ)#I-O),6LZ?L=O MP^.DZ4AT0KQ[K0;BN<1HL3%:9-LEVTH#%\+BCOKEX>6?QG-5=?YH[ MOO7\8L4?6724D(CX**'QMLP[#&;D4NFAWY7#CWC3NYG.KGIOA0:0@=->TON2 M@ .TT]D]2$G$P?"T+WKBJ@JH,VA]S14G$Q"^^81Y-Q.GPV-D;8ZG[_DUMWR>80>?+&5RXY.^#W&AM3!_1VM7V$^0T?7G; MDJ?OE[])#_\$C#L+'!T>OCONI9[3O$17\G>XN8N(%S^N<)U6G@BPOW# DOJ% M!+0?9B__"U!+ P04 " "2H?M6+G!X..,& Y% &0 'AL+W=O MV8F5W:BS$UF:3!3\1A%=YCE3ZPN>R=5I+^C5@ELQ3PT*^F >,9C M@Q88/);\DF<9&H(POE4V>XU+5&R/:^L?[-IA+5.F^:7,_A")24][48\D?,;* MS-S*U2^\6L\0[<4RT_:7K-S@VB:5TK!:M9ADGL82RUP;>RQDQ M*2^U$= 3^!8>EU(MI (IF4IP M20[(T!M$ WB^?A71@+Z#T6%(W[@70TK.Y[R(UVUD@L"CHZ"9?TC#\ T*?1J1 M>V7QWIY/0V\841*1P_%D#%,I]<:3D-Q+P[(N9$7GAAR08.![(1W#*,(HP>/( M!AJ$$X^.PPYX_Q, @[$WF&!4U$85N)C&7AB-N] ;>T-_O$$/P'^#0MSO+O2B MP!OYP\W\P!L. <3(]_Q!]"\P#$9@;U)'2[U@&-IX@P%L=T3.GZ>N9[,[X3$6 M(!@F,T1C:=&8XI%)6 -SC###$20T64$5%-*X.DFXPD(!0PJL,4AZGB.,L%:8 M)@P!!3#"228>>+9V&TR3*2RBRQ<;164Q9&9'#2&!2LB51P!,=RR<%H M59*;<([(;Y(P+%!6Q%BKBL00$GC.W&:CY,4XXMK0ETI<>WA6[6#L638>D7OL M$@UX5NVE+CTR78-+Y##880!4V_=+M@' (PP 9+IJ1/H[S>6[U=*9_B^9BD?(6$L:.)*&CG:/H'J8P2E+ M"'IWIU.U7\(EP([=WK.-=^"Y35>>>';=[+:KQ=T^:7!.>J-DS#FTLIF2.;FS M<7:]N=[$_;P)AELG"+3FP"$(@ZXSY.GNU<^11X=^9Q_XD75L*_*B9A^/S%S:PXV=Y55MQ M)&X7E6M2QK&WO23.D;9&8XO$0:71R(L"7"(]&&V#=OQ^'MJ)X.YE>:QYFTCZ.Y\A-(I(Q[!UUHG2?VM /\+8CP591Y<<"EE:1.>"

;XI>TA:P* M213N7@HO>*#5U(;"C&9/&W>PTTN9>[-Q=!VVFNTNU:Z;F>-!F? :J_M%XV"/*752Y/T8N[.70 M5!HC=QVWL# M #!"0 &0 'AL+W=O.P9KSQ%C/'NU.+F>R,X W>*=!=73/U?(U";N9>[.T8]WQ=&-K+?*Y$'-F_[+GK9YV%.8 M1"\H)%N%Q/G=&W)>WC+#%C,E-Z"L-*%9PH7JM,DYWMA#>3"*=CGIF<4-:[EA M@G_!$A[DRFR80KC%1SJMEG)OX$9JHWUHT,Q"0P:M6EALP:][\.0%\#%\D(VI M-/SZH?DZ.!MLO/V.CD)^&O7!)!&/B11DI[ 2X?H4X>7OH!WCQJ9*BI@ M37D0]5]72VT479F_CT7=@V;'06T9377+"IQ[5"<:U2-ZBQ]_B,?13R=E8Q0' M*56X$*Y9T7T<94$R,*C]4H:0?@H1ZKZLT);5UV39HG":1"0^M4S=HFMZXMGO M$9-O34SV&#L3FC^]W4 5_N9Q">:&AJIF9EJ)P=&0O&ZA!A)0NA2<'GH\#B( MOG-.XBB8'-J(DR-&_F-6;CO%F_6>FU;P-)9/]P%*KENI:4NNCMR,-,AWC&]C M(OE5)\3S[F83Q.N2'L"[SG2V+K_C05*-DT.'J>(4M3:\[NOOY2;P)[5F-SIL M @\:@8,9P<3/)Y%=9%3@?D253G0.N1_%CAP#53-)?K2WZ7A80\D>Z\SAWEBM M4:W=XT%39%UC^@D[<(?WR54_EK^*]X^;#TRM>:-!X(I4H^ B]T#U#X9^863K MAO12&AKYCJSHC87*"M#^2DJS6U@#PZMM\2]02P,$% @ DJ'[5E\LCF4] M! S0H !D !X;"]W;W)K&ULQ5;K;]LV$/]7 M#FI0Q(!F2]3#*:F'K HR@<-%S*8COW9A9Z.56MK(?%"@VF;ANN;4ZS59A+$P>[@LUA5 MUAT,IN,U7^$7M%_7%YIV@SW*0C0HC5 2-"XGP2P^.4T=O2?X0^#&W%F#LV2N MU'>W>;^8!)%3"&LLK4/@]+O",ZQK!T1J_+/%#/8B'>/=]0[]K;>=;)ES@V>J M_B86MIH$10 +7/*VMI_5YC?P(GAX]*VLK KW*!B_O\ ])I MKQC;*7;*G@7\O95]2*(06,229_"2O:&)QTN>P'NGU&(CZAJX7, CJ^%/&-#NK.=5:6;=/6W.%^(KG[BV\^L>AT=H6: MZ@1\-;AL:_@@E@@D[T^'#F<^55!3H2 ,RG=3B;6!(XC#?!C1_S@.LVS4/VJ M8#%[ ZDCTGQ!A9**J']:UFU!\@8-RHAA6 8)JDC#_,H[\$P23N#E*O"6]EDPW&1]2#; MRK2>D66,#,W8K11W>ZDLK\F7#R+=/8 C8"PLHMC[?%$;.FZ>-'8#L-1[MV8AD62D >&,&N4MN)?;PQE,TT"Y-2-L!69:-;46,&J MQ]AT2#(IKD=1/Z>F5=>^_Y(+C^(^VQ_01.'+AZW(>FBZ]H&N?3RH%([3/:QP M)Y7Z>'T3/D;T!ZR?/!)AQ/7/"^C#V]:ZAL#_FQ>X<07ROB1!"A@K&I\,1-"5 M3G._<%*I[)X^]5*7)P\S+/&/GR6YVZ20#A.WR&@1NT6^6PS]XK)"FM:6EOC] MUK^'@R;MLOI0IQK<&3$H&5=^D'*]H)6VFS;VI_M9;=:-*+?DW:#WD>N5D 9J M7!)KU!]F >AN>.HV5JW]P#)7EC+?+RN:-U$[ KI?*F5W&R=@/\%.?P!02P,$ M% @ DJ'[5HIZJU4D P ] 8 !D !X;"]W;W)K&ULG57;;MLX$/V5@1KT @C6U9>FM@''3=$N4&R09-N'H@^T-+*(4J1* M4E'R]QU2MI(ND@#MBT1R9@[/(6>&RU[I'Z9&M'#;"&E606UM>QI%IJBQ86:B M6I1DJ91NF*6IWD>FU(7VO_9"TRP:44K>H#1<2=!8K8)-J<,KE##^"_W@FY%ST1FKFD,P M,6BX'/[L]G .#P(6\1,!Z2$@];R'C3S+]\RR]5*K'K3S)C0W\%)]-)'CTEW* ME=5DY11GUYNBT!V6<-ZT0MTAPODMW;=!LXPLP3NGJ#A G0U0Z1-0,_BLI*T- MG,L2R]_C(Z(U0$LCB$-$ZS9_"R46OF\;(G\+:J<=J83X=+ M%,R2\*TRUL"WSTHCK#9&G> MG )=%_KK>H\%-CO4D"7A"'W#BN'@3R#)PFF:N4$:QK/YZ+)3LG-[)G$8IPOG MMHAGH]7@#6HF"X1I,H7\[;VE97>:6 'Q $4<-PDR2?O*6J%,()(X][COJ0 M7E;18LOTH+WPR<:,407WYI[;&E2GP;57VF5;"?ZN*%ZA?&;@F M7,.'3D8ZK^Y!-WN-2'W2AE!ZT,],%S4D0]W Z^ QW^#-!*Y)Y.\2>F:@ZH2X MHS/E)?#A( Q2%I3_/XG)8\D=/>A$I&?O^ZW+HD[:H2F-JV-+WPR=[-Y]> ]( MQ9Y+ P(K"HTG\VD >NBQP\2JUO>UG;+4)?VPIF<)M7,@>Z64/4[&PO=V]R:W-H965T\W,SGQS<<_7VGRQ*RD=W)=%92^\E7/UV7AL MLY4LA1WI6E9XLM"F% Z79CFVM9$B9Z:R&$=!,!F70E7>Y3GOO3.7Y[IQA:KD M.P.V*4MA-M>RT.L++_3ZC?=JN7*T,;X\K\52WDKWL7YG<#4>I.2JE)55N@(C M%Q?>57AVG1 ]$WQ2?5>Y6%]ZI![E6 MO[!N:4,DSAKK=-DQHP:EJMI1W'246V?P5"&?NWPMT21[/G8HBW;&6<=WW?)%3_!-X(VNW,K" MSU4N\WW^,>HP*!+UBEQ'!P6^:JH1Q($/41#%!^3%@V$QRXL/&@:_7\VM,^C[ M/QZSL161/"Z"\N',UB*3%QX&O)7F3GJ7/_X03H*?#BB8# HFAZ0?0/[O\,'; M6AKA5+6$HMW ! 7=&,BTJ34>2="+AA #TZ:TH(1U9+V%D:7 MH"L)'U82)90USBMG441'+N^Q#%@2D^EEI?Z4.:@*'%(_UQ@!>)33S.I"Y7AW M#K<.A[(7TFF+!+"61H(@?0NL"!:.6(YNK*AR>WR&&A@I]Z(+,#8DQ\:MNG_B MA**&/M'.[ %$:)=U\ Q"/XQ#'I/)*8Z1'TTG/,["%#X)H\2\D+L\27(*41HA M1Q"%$$]3^*"=*!Z*3:C#52OLH;6&ZM&)7IPT5O87HI&!'P=L=>PGIRF\WKG^ M+;H3XZ"LMB.$#@2&M,42SM(IN@V)%Q6HLA;*4 23 L_" MV2C! EP4U$M0/:LL \!GZ6@ZG/4^1@W?O_VXZ^IG\>-DM<$>:]R&B>371M5\ M*W+J3#'16KD5)_?C9F#2DJDK899]% V6$"O:_XNLT&4%7R%R;"2*RB)UQ#ZU M+24TW?$/$WH$+RMX)2ITUH:3CY%$.E2#B@0:B&@*Y,S9+%R3CUOWB"4F.V_W MY>L6B6^47&I8B(RB90-'1.]M#SB7O.,1?.:RAJN&KMI*[0.M173K5)SF3?LW ML*?% _IO$@<:VX=FKFRF&]27*ZQPO%GJ7*%#& \@M!""E M[%3!2/W/KOVG/CQ4';:N#+>J_S=7%H>29\@27'-I<]RL40[Y:J\:D!;H$"?@ M6IBY, )U,KI9KO:;1A3$X0A>M%ZFPY6N3C)19?CCO.V+EMH4 M7K_??[_7OWZ3PEBT+B=//% 'V8_"8VP'1]-9?$P;"6^D?C#A?I["Q ^Q8>-T M@M,X26DZQ6D:G5()Q#?)PK7R NRX;>=9'+0P3?PD"#%LK3VC@M^TN4KH8T\_ M"K&7S]+C3M30LDBMP\A1,:-0V!PVF$*8#:4,Y%_,BA2H)*>%DQ4E$:IE]%WK M?D&XDB\8_+U^P@TFV&LPMI;\YBDVH\?^5\<[KX928NN@MY$%3HWV 3'L#L^O MJ_;5L25OWVYOL/,HK F%7" K:I%Z;1GM%T[7_ :9:X&PO=V]R M:W-H965T_9V]@ XV?GP*59$25W7 MUL732952\VP^CT5%M8XSWY##+VL?:IWP&C;SV 32I1C5=KY<+![/:VW3_L-[LZD2?YB?G31Z0U>4?F\N ][F M TII:G+1>*<"K4\GSP^>G1_Q>EGPAZ%='#TKSF3E_2=^N2A/)PL.B"P5B1$T M_FWI!5G+0 CC3I1)6TUJU-[_WN M5^KR.6:\PMLH?]4NKSU>3E31QN3KSA@1U,;E__JZJ\/(X.GB'H-E9["4N+,C MB?*E3OKL)/B="KP::/P@J8HU@C..FW*5 GXUL$MG+WQ=FX0JIZBT*]4+[Y)Q M&W*%H7@R3W#!"^=%!W>>X9;WP#U6;P%01?7*E53>MI\CM"&^91_?^?)!P-]: M-U.'BZE:+I:'#^ =#OD>"M[A]^2K7II86!_;0.K/YZN8 DCSUUU5R$Z.[G;" M@_0L-KJ@TPDF)5+8TN3LIQ\.'B]^>2"%HR&%HX?0O[UE_P-.O:&-MNJ-T2MC M3=JKY-4;K+(^E.K"H5+:%:0^DJKTEI16N\I;NU=^YZC$I*^B*0V&?:H^4 A: MO=5A9 ;7C7;X\<(5LREL35&IG8Z*8M(K:T#K4AFG"N]<-\4[DRJ(@6$,1*GL M.#+;1V8&%XVW1A+QZS4%P&&9;T,W6A2B6NWE0ZI,*']N= 4=\RPP$KEV9<%QVA=UP9+/M1?6Y] MTBI6&@R#;:KHOV?06#"JS!7XCA0XEJ((+2E(.4K8^) 5UAMZCB5UB-PVY98 MY[@#!IHG46(B(OSCUS9P"5=M4LZG&XS./WPA?3BOM8.@CR*Y(JL_IGJC[ M1&!?%T*,Q\=SI;086ME2\&R1\O9D_[#%."Q(=EH M[+ZK:>S+*E1^ARRY, C)I2%\(:B3(F+\P)U(,H@1O2\ET7-MA0U7K/2HP\4( M\Q(I:5,JNF[8,N?M;SD""RE]2ZY,4*3V]':N1[/C^W(%;HG*1@,W%=F.ISJ3 M4F52CAH;Z'-K F79P3N?'Y(6EEA>%* ZW%*8Q]$P=+2>=;IT&7Q!5$((HGH= M?*W "V(X^0]BU7K// ,) ;+U=ILKMM7!8&"5%93F!H6)NF7N;S0GAC<.$^V9 MCHI:FMBTB>L,NK((K=FU\&_(#_1,/)J]%DA0(#AFVS@((O)L0Y3QXJZO6@!1 MC/F4(H3($XLV,&F[/D)9=5=+'@ZW[_U,L2K(:B2M=YV\\ )0@C-34DL^R*[72!J5 !2TO#0BY;$27S+>HQ8@%$;)O6K=6F]]P&:P9\Z7 M5#NS-H46@ MW7TEO(NLXT,D@VG$; FO!A3U''@MD(5U&TK60,C>!#+9GS0S>R4B":Z2!7LL\(IZ:] M$/>TPQE[X \ZBS)V/==-@ST#14,^FT!YRA@]X?0+WVTF?19KX]:\D\JB7A-K MC5I!U6^&]XL1& N7L)[CX:TU?#$4B*V;6>$!OX/B^;DVD<_V8/J'"J>DKYHC M39,5TD-HP)9GDMN#AO?]8PJTL Q6VC@DG%M95VW, MV0KB&,'D2;MG;WH]#/=5P@>IY.RN@^Y\=$_!6&WD-A:YXB[E*\OP=;CP/<_W MG)OE^;:(@^0&VP(4? W3Q>S)\02'![F!Y9?D&[GUK'S"#,MCA4LK!5Z W]<> M=.A>V,%P#3[[!U!+ P04 " "2H?M6Q*838[0' "(& &0 'AL+W=O MC"X/"_E&F[!O2NO M#=X-6BF)RJ&P2A?"P.JBMPC/KL9$SP3O%6QLYUJ0)TNM/]+-+\E%;T@&00:Q M(PD2_]S!:\@R$H1F_%G+[+4JB;%[W4C_D7U'7Y;2PFN=?5")2R]ZLYY(8"6K MS-WHS<]0^S,A>;'.+/^*C:<=CWHBKJS3>"$/4*(TNV%7F1N-40:#<.H-O%?*YRUNGXX\G5^A7(E[K M'+&VDL)U/G HG6@&<2WIRDN*]DB:BE]UX5(K?B@22';Y!VA5:UK4F'85'13X MGZH(Q&C8%]$P&AV0-VI=';&\T3Y74VF@=O5:/F!F.;$P1A9KX.O_+9;6&4R3 MWY]SWLL>/R^;2N?,EC*&BQ[6A@5S![W+[[X)I\/O#U@^;BT?'Y+^62#]/4F" M7XBW)=U8L6B*5.B5+QSE'H0J1*R+HJZGC7*IT!46.+/JFA7[A' I"*ON1>X3 M B@A!,()+9Q]H:R01)UA6[#BJ*CR)1A29PDF2\IGXG?VO"?*$WB\"SAQJ3()T[/3CIU!#T@GR#BEO_3H :1A MUXCL,1(3_IT*#!U=G ;B-_W(H@V8;022%\8M"L3;)B=/O#MQ-\_AGJZ!T_21 M.H3OU1 ARE66\,NUZR6UC4 MZ(,W[$S<*/OQ9$7H*[304,D84C,.AE/Q+18GH8T"\5TNCA ;KH%C,0WFT?;M MG2;O,VJIV!4Z; GVV80JZ4%!EHCOOIE%8?2]6#SM*WV?B-K)K .B 5K#.&8O MR2X2(?&"QQ^^1-IG2N(TF#05@#TI55C@E#FMJUHL 37'>ET@SIA)&$PAL7H? M!==G+'DR1HD_;G%G4;OW$E?*& MLN!'2K;W;;(Q!SI$G9+BL&!)$L\?:=F=1V!^-)JQI'LS&6UH.X',,W($I?32/ MA94(@[#MALQ5#X7LX;F)01UR&$0MQW7+L=3XLX<#0\>-HMAY%7A]36LXJ'<- M!6*3X4L>:G5"KC!73BCMZDST#6N; -<=^7T*ARKBK*(4JGNL7*(DW]?ZOBU@ M/N"\4W#G%\AZ[G4=R('2FX9D.!Q^^QR%DV8-#J>6?U4UH%SO :6/(=V"0!EF MJ^4?6!-4B,7=;31RN/1-\Q&AMT)"=,/OA MV(ES'2L2@1BA>14JA;S,M%_!D4%7Z]2O#HT#U+P]0%C]%3:Y)X7J^XY"T93M M.TO(XQ#7G8=-Y75?K(S.!>*!0L)QU.+BL7BJ*X&R#@)_1V[#Z><8987>!SV' MA6$HRTS%/!6[";CMV5U<&?WJ4#'_J\BW$.8@;>4'1+MR[,N'%P*-&_,>A+X2 MX)U"Q, [A)%1;T$MP$HO$"JA7!RJ,1K<\!6F:.6(KLTS:B6 MEIIC45E1UE^HC99:QW3R*>,_[$SC%R\"?@@4=>-!%:_")\LP/IGLV8;WS]QF MQ8]VU^&^%QF-N]V,EF.MOI;X?0+1^&PO M=V]R:W-H965T*5$G*CO?K=RXE.P[FIGNQ18KGW',_J?G&^;M0,4>Z MKXT-EUD58W,Q&H6\XEJ%H6O8XDWI?*TBEGXU"HUG5210;4;3\?A\5"MML\4\ M[=WXQ=RUT6C+-YY"6]?*;Z_9N,UE-LEV&Q_UJHJR,5K,&[7B6XZ?FQN/U6C/ M4NB:;=#.DN?R,KN:7%R?R?ETX _-FW#P3.+)TKD[6;PO+K.Q"&+#>10&A;\U MOV%CA @ROO:[V]S53)_4/8?Y*()1]D=YC[[N MT--OH,_I@[.Q"O3.%EP\QH^@9"]GNI-S/7V2\/?6#FDV'M!T/)T]P3?;NS=+ M?+/OND=O=PXHS3)16A4SI<9NB"P7W.V^/&' MR?GXER?TGNWUGCW%_MUT_'_T%Z9=X2XAV2),$WP#BH"@(6P[E0*<:PZ>$=&KJ0"6?,,,AVY#A@#N5M9 M_0_L%JW?07JM0T*C=AR59TX&@KZGNJM1EAHE5!CO*VQ &TZ<7EX]!('X'E,O ML"AX-OEY>([6,R9-$7 ^FQ[N>$YU8.,N,O\-!%BF@_/9JY,$?SZ93EZ<#.D3 MA!XYK )!1J,\%"&"XL[GX>V02BX0.D,AJMA&Y[S\E#0B1#V91#J*G,-"&A"\B!J6M@($H>1;V/OBZVM"PJ=\7B6:@M>X M*1K,_9B.(OL%3@[I"R=1*"2I9K741L>M>(B[R* BTO81'XZ7LYA"[E'&:FET M@.VCL=$E"H]POG:>3XV^8[,]C0CGJ7705ZE(0?QMG$](9$,"?DS&!O5"@EKR M3G*1O-K(S2$V2:V5-DKBW+B@4UF(3LLKE1:\U@5#UD#";-I"*DZ\1O0LG@-5 M.J3*$!2BBILIB"14N(3SH?<&)+=[T1J6)5 MV489HCB1I/89%Y,":@P&@@B3"1MY!7 J=2^.XL:WH;#R@5;U :KB1HW"RC ML_3T/'?VWN SQYTY&H-CLE;JBWMY7RVCQ 6$ DOK$!@][O "A7! %,;7'C,: MEG2.Q^,]^B^>.W%9,X,72OS.*ULOHWD$%6Y8)^R-VOV*/9_"X95*&/\/NV"; MSR(H.V-5TSM3! V7XQV.'.;)-QRRWB'S<8>%?)27S++50JL=:&=-:&[@ MJ7IO"HY+EY1;J^DK)S^[NL$[E!T"DQ505O,O"=>+S) M/_#=:-7 !<6JJ2Y(;%/CC;&W\_)\O"1#P\Y?QW1XZ-2TK<1G1)C&H M[S!:_?!=.DU^>B7Z?(@^?PW]OV?K?\#!QYID4H*V+9=;L&PM$#PG:0VH3M.> M#.XEL[A5FJ,A>PT$1#^- =?P>VA"3:"K":",XI!1;T*##-YP25ZJ,S1CWI[2 MZ@[AN)K@EJ >37@$[WT872B-8)3H' <#)S"9QT5:N$$6YVE.@UD13^=N,)W$ M&?E]9H)8G%5^#.R<5#*-NR+U0#7C.$3Y([LUM+UF8$9T* VO@4M9K:M[8/7F?\ MVO&6&JIUZ$*5'OMEB$O?)O,02FS5I,TGCD)$= \I# M.DJI?PGA6S&0X4DR>K>?B0G6M.@[M'B(/1!W]$K152'(('C941!$0'"VYH); M5W,$Z*C29J[HL"!K&E$!\,KS.V>"R1+AUK5(QZS3OIR)\[\LS1AV2/&5:BOY M7^@#GSVADAV1(U5ZC9ZRVM6\K F,"O28F0NE>BKO.H1M>IV?J]I'ESY>9$0) MQHWB-VF]FQ_YJ+?B6A2UQ]CQS<=BTOFJEDC^6SDGX':\'O/8(3QWAO8EN MKJ^BM]"1AMJGHNS[J@F-]5"O.V)SDN6'M#L6I"[>.P84P$'G00DGTE=:NL'R7451:RC44]>JE' MCX].5V*Q]7<(0R0[:<-!.\P.UY2S<#H?S,,=YP/36TZ2"=R0*]51$8$.]X;P M8E7KS^JULB29']9TU4+M#.C[1BF[?W$+#)>WU=]02P,$% @ DJ'[5@0^ M*%2S @ @@D !D !X;"]W;W)K&ULK99M;]HP M$,>_BI55TR:MS3-0%B*5\K!-ZH3:=7OM)@>)FMC,=J#]]K.=D (R"'6\(;9S MO__Y9)!B?D570*1;^:4E5C(*5O8?,D MIQHJ"]MSG(Y=XIQ8<:379BR.:"6*G,",(5Z5)6:O0RCH>F"YUF;A/E]D0BW8 M<;3$"W@ \;B<,3FS6Y4T+X'PG!+$8#ZP;MS^-%#VVN!W#FN^-48JDB=*G]7D M>SJP'+4A*" 12@'+QPINH2B4D-S&WT;3:ETJ<'N\49_HV&4L3YC#+2W^Y*G( M!E;/0BG,<56(>[K^!DT\H=)+:,'U+UK7MF%HH:3B@I8-+'=0YJ1^XI?F.VP! M[B' :P!O'P@. 'X#^*<"00,$IP)A X2GQM!I@,ZI'KH-T-7)JK^N3LT("QQ' MC*X14]9230UT?C4M,Y(358D/@LFWN>1$/,.O:,71#)BN:I( &N4\*2BO&*!+ M]/@P0I\N/J,+E!/T*Z,5QR3ED2VD;Z5@)XV?8>W'.^#'1W>4B(RC,4DA-?"3 MXWSG"&_+F-O O4W@0^^HX(^*7"'?^8(\Q_,-^[D]CM]A)G'W(#XZW;MGP,>G M>S?AD_^+??KNS>^DPF]KT-=Z_GMJT%1JM5Q@EE-G=Y\O<0(#2Q[.'-@*K/CC M![?C?#7E^9QBHW.*C<\I-CFGV/1,8CO5$K35$AQ3CW_*]BQ+PW@&U61'DZH' MK^)+MW?MN)&]VDZYP

V=CD-/!ZW5VSB<$L#!QW;V]3 M@UD0>.&;6OW1[*TCOP2VT-VJ*UL;JSM^/1%TJ1O.$Q6R?>EA)B])P)2!?#^G M5&PFRD%[[8K_ 5!+ P04 " "2H?M6XK2(^FL$ "L$0 &0 'AL+W=O M!:7W$29[8!Q^FP M=' ;)-EV,>R"EFB9B$2J)&7'_WZ'E"+;F\RB7G(3ZX/OR_.0%/-*HXV03VI% MJ8;G(N=J[*VT+J]\7R4K6A#5%R7E>&C(#CW"\*X M-QG9:W=R,A*5SAFG=Q)4511$;J]I+C9C+_1>+MRS;*7-!7\R*DE&'ZC^O;R3 M>.:W+BDK*%=,<)!T.?:FX=4L'!B!;?$'HQNU=PP&92'$DSFY3<=>8"JB.4VT ML2#XLZ8SFN?&">OXVIAZ;9]&N'_\XOZ+A4>8!5%T)O(_6:I78^_2@Y0N297K M>['YE39 ML!$Y,K^A4W=-AYZD%1*BZ(18P4%X_4O>6X&8D\0A4<$42.(_B6X M#(X(XD806]"Z,HMU0S29C*38@#2MT3#L_:=RN:[?HB%L,<\'U2L%'GM*T0S]SZ\\= M>A_)6KSH!>\Z_! M8@NW/&5KEE8D[YJ"VO2LV]0\]E>J) D=>_A<*RK7U)O\^$-X'OS(W*B7\-:?%@LJ_N\B<)M^[*;V2V0'OL.4=OL6F M/'Q-_EM[KV\&[HW;RRD<_&Z9;OE MU;E6G>)3G]AHQQ0YBWMD.N^&30F4$G-B29-SY\O^F& M=.OW=HE.NK=(P.$N H?NR+J?'6XJ20QI)Z3;)CP;0DJVW?/W%O$WW.7?T)U5 MIUEFGFN-6\*:L)PLCBS5VF5@7;3]%3.T+N+]K7G_'F!.9X68$.5VB-.A?8->R_C10GVA1VK?K MA=#XKFX/5Y3@WF4:X/VE$/KEQ'30?J"9_ -02P,$% @ DJ'[5I7%8\V> M!P >!0 !D !X;"]W;W)K&ULM5AM<]LV$OXK M&'6FC6<42Y9CQY?8GI'5N"_37CU6?/UP7O';GKR]='8VVZLZ+4)>E]-L;9=SF:G R M:!?N]:J(M#"ZOJSD2LU5?*CN/-Y&'9=B;XEU:; MT'L69,G"N<_T\E-^-1B30LJH+!('B;^UFBECB!'4^*/A.>A$TL'^<\O]EFV' M+0L9U,R9WW4>BZO!Q4#D:BEK$^_=YD?5V'-&_#)G O^*3:(] W%6A^C*YC T M*+5-__)+XX?>@8OQ$PJDS::.89IFK;=1V)>ZB]/Q4$S&D],# M_$X[/YPRO],G^.TS^-_318@>>?.??08G?F_V\Z-:>A#"2GJ0:,L\ M?0Y"A5*)!;\WHBNO<;XRB-U*6>6E,5O:5U5,9R-T>K"L XM 4G_[S<5D,G[_ MPW1ZQX\G[X\$L [447E=BF6GE+8) V'_L9@I'P%Y_45V2JY#9ERHX2QA:8=4 M@%:FSI,*6=_B'?.PL_B0L:2F*.1:B852S*QQ)#1VI8Y@>LS!\#D<8K9#,CFH M%WD\%*XV.00(0OE&YT^U33#*:KC:BS:8SQM$?B'/>V68R#KR?-\IQ&]J;8US M]ZIR/@[%IM!9(38R@*1PQS!'9-RGI7OLR48_$;R'>)W";)2]S;V#UL\]%5VI)C46*EM&B$ M1#842!PA\T_H 'QLR,KIP'D.TI1;[%JOLMI[6H=.)2BMRE0(Y!M*9)*QE-KO MS*#S9/8+M#X^ %IG'6B='422>Y49&0)#!J72/BQZ&0?Q.R55NT8!;*I2E@0) MH4VM)PSM!04>FH>HA)Y]W3CX_Z*('%#N,^8!$*0G@]CGY M91P^%BW^)I]C;V^5)YP@4W7<]M#*JS]J37"XRV[R12D_*Z%:(9S("&-=5B0D MP%4R"KEJ-+ARKNUYKDVM1K:$5%^ M@>"\YE+>L>?&!I1QA.S[-4]8B9Z!V7KQB5WFQ*(+NE*G!;HP4O-_G;@ M%UL4Q]"LO&>\Y1/0Q;-K(7+A/#*>;$:Z*=([YVQ1,@6R*S^#%=7WPK#Q6>;6 MH.%5'FM7SN4;;1)6&F=7KPVC?\J"X2/O#TG@LC:"2,)7BB-LD ^VQ(K2NNH< MC$X@[4HOC.H8=QF7L7;][*Z!1]YLF]#R!($6]9JN%^25DC(G5=NK3:$X?1B( M'*&XRSXGRJ/A5V738]PC?,22YH-(G18UB:M+P":U^URCV'P"N5BX\%5QVBVR M"VF6"&$5E_0V32-2$*7GI,' APQT!Z'WI3WF;0=_;P^"US_1XG]Q(9!;(;$L MH<:\0*;NP\'_D15MF'8C2QN!-GBXH"0,$@E%ENWU*C$E-V9GF^Z\Q0L M%$PFJ5+!8\OE#+?H:%()=(R-1N;E_9%SK7.:>3S=0)MH>>:"&Z[#$X0L8%TW M D=)>;J@&_DAIU]T3K]XKBVKO]P!O+-XSIK6,,T=3>#[8O#_X2Q^LN*W++H% M(H)A\"1AP2[)>@R0;S:7/H?S'?[$J\'M='XS.!(:901.>TD?*DI;T$[G#R E M$:_'%T,Q$#=U@,X(Y8Q]+%,9OOJ(J2X3%^.SHW=]CI03J .^5/;!O%O[I8?J M7(KM3AI*Q(R_""@?Q'#0P'[77[.62:^_=6N/&EW&)](%0RQ:"[*=!91OBP2F MN.,1XA.S!H0Q4F_9OPT?3[7>O0?-#-A?>RXPT_E,G(_/R77WJ5,^;R>J2B\? M2RPD77GTBO15J1FWIF)(1Y3:&"&L0O$8 41G_R\Q%B E:/X*,!(L+(]S2^"7 M^!X)5U(6G9SQM6(R3/J F*Z2E&UD'2J_O6QA!)5-$O;%@NAG:?F"4*;M M\5SS):B!3OL7R-Q=79Z_C^RKWE'O:Q!&PO=V]R:W-H M965TU12E&CLD(K M,+B9)8O!9#D,]M'@=X%[>R1#R&2M]4M0OI2S) N$4")W 8'19X=W*&4 (AK? M.LRD#QD8.^6R9A;OM'P6I:MFR3B!$C?,2_>H]Y^QRV<4\+B6-KYA MW]J.\@2XMT[7G3,QJ(5JO^RU.X.>21=QLHLOR).3:?&KT'$ZP) M+0@QU>A-Y(0*E[)RAG8%^;GYJKT,T!M8B:T2&\&9HH<'!/>1=DV0;)WPER#?=:N09WEQ!J_H3Z&(>,4[>*?2_6.QMLY0U?QY*N$6;W@:+W32Q#:,XRRA M5K%H=IC,?_@PN,YNS[ =]FR'Y]#G*^K,TDL,E_8N_:&2%; TV MWO"*A@Z,80@W]/Q_6K=A6@D>S[04T@>GP.UZ%)GF-U'+1BW3 9PJS/1HL-1H MMG%\6HC-TLZ8?K6?T(MV,'TW;\?[/3-;H2Q(W)!K=G4S2L"T([-5G&[BF%IK M1T,OBA7]9= $ ]K?:.T.2@C0_[?F_P!02P,$% @ DJ'[5M;2'4?)!0 M/1( !D !X;"]W;W)K&ULQ5AM;]LV$/XKA!L4 M":#6$F5917E0%H\KW(2W79R[1>G??[*LV@8.JU6$&);Q9"%DSCHUSV MU4H"FUNE(N]3WQ_V"\;+WOC"RF[E^$)4.N5G#' MEYDV@O[X8L66< _Z\^I6XE._M3+G!92*BY)(6%SV)L'Y56S6VP5?.*S5WIR8 MD\R$^&H>/LXO>[X!!#FDVEA@.#S"%/+<&$(8WQJ;O79+H[@_WUI_9\^.9YDQ M!5.1_\[G.KOL)3TRAP6K,\W&%U*LB32KT9J9V*-:;03'2W,I]UKB M6XYZ>ORQ? 2ET5_5>],A>0W(C2ITI\K:!!E_7Q/7)T7N5 Q(),'AG/S=6\0JJ^4@RE MNQMU >\T[0:^%RUJ%RUISI3B"PYSPC!V?L21"B2QTO@><>H,R$+DF UXN30* M*,.+A/8B;?1=0PK%#"0) RNEY)27J"LJA:_5V?D3G4DAI.9_X193H31Y+X52 MY'.)>2JWTO>8G]2/XD_XC"=XJS1'AL-!U$^%7 F)4C(3N"4Y(9$W2 8XOGR1 MT("^P=EI2,_J%Q$EDR64Z6;?,T'@T6'0KC^E87AFA#Y-R(.TK#I<3T,O2BA) MR&D\BG$II5X\"LF#T"QW>98[+^2$! /?"VF,L\2@Q!V'%F@0CCP:AP[W_B<. M#&)O,#*HJ$45U)AB+TQBE_=B+_+CG??0^6=&:.[;Y;TD\(9^M%L?>%&$3DQ\ MSQ\D_\*'P1#MC;9HJ1=$H<4;#/"Z$]+!WZCE;]3)7P=G=Q13'IEMR!V8TFJH M,L7D:;(0N6':H-RX2-VYGYO4#X:0YM8>S:U9/C[72Q:A;!&F#<(*'5TT(#W" M)!B:UYQ7/^'Q3P/3&6G/67-=F4,0@;MM@$DB),$R=DB6+3U.R,CW$FKN/4$) MAJS19@N-P%H#.I.B6F9FA%JDVMC;CC3R8HQM' +, [] XQVR75@^(Q"';2 . MGUU([A$1WNR4Y3D.)ADW 7>DCG1:=H?<-9K#>#&E0/'OI*C; C!M@:,6F##P MR!I(QN;$^*MN4(H6E4%])#X[ N\>=]YO2)[L7*>Z.U?^NWN2_6KIK10I .:Y MA11%[47GFYTW'1DR/"@OF+>#^LYQXBHP3^-M.PX]&OG.)'E,(Z1>&$5-B![# M,1AYPR#N]AS]GSRW0^N:86$=C=Q%]YA'@A&6'[_U2+?]08B5K9.*<4O%N).* MNY3ED0DZ"5ONIO_&]JE$#R)PRYXKADV5BY"=]CMJ0-N4:=OA$_L:^20J21:\ M9&7*3?JJ,1D&YIS->%Y[L=AB9'JOFAC$#"O$%O/,8/X'31^6EQP>P?PKTIGE M[WZM(AD'R62:;7Y253Y9&T$STN9.K:>G3&4$OE4<+9JB>VXB&S:87>17_$^\ MJ+:M'Z7#@QNO):Z PM:M76?FCBKOS%;G/T3UUDK=7Q[K,MN K1O+SOZR[B=; MC8/^$GE.$R\)S#FQR P2WY8@/.AHZ+B;7W?J(/!&\6&F:41.\!Y-=HZMGW[= MM4WW>;0)W5MG(JFK_:S[S*W"0=MY8EO[T#?=>(A5.["NC6(O#MQ)H[_WE[X MN;0?+O"OEJA*7?^[;Z7MMY%)_4E@M[S^L'+#Y-)DX!P6J.J_CK%'E/7'BOI! MBY7]0# 36HO"3C-@&ULK55M;]LX M#/XKA%<<6L"HW],TEP1(TPUWPP84[;;#X7 ?%)N)A=F6)\I-MU\_2DZ\%$B# M?M@7BY+%AP_U4-1TJ_17*A$-/-550S.O-*:=! 'E)=:"+E6+#?]9*UT+PU.] M":C5* KG5%=!'(:CH!:R\>93MW:GYU/5F4HV>*>!NKH6^OL-5FH[\R)OOW O M-Z6Q"\%\VHH-/J#YW-YIG@4#2B%K;$BJ!C2N9]XBFMQD=K_;\$7BE@YLL)FL ME/IJ)W\7,R^TA+#"W%@$P<,C+K&J+!#3^+;#](:0UO'0WJ._<[ES+BM!N%35 M/[(PYU#@6G25N5?;OW"7CR.8JXK<%[;]WJO0@[PCH^J=,S.H9=./XFEW M#@<.XY<V_D&^BW+3 M1XE?B#*"CZHQ)<';IL#BN7_ C ?:\9[V37P2\'W77$(2^A"'<7("+QF.(7%X MR0MX]T@H=%Z":(IGZ?^W6)'17#O_'\NZ!TV/@]K[-*%6Y#CS^,(0ZD?TYG^\ MB4;AGR5 EOD94&P5A5?>()SV8 I54=\LG0Q 58.G7*WF&.]8IY)Y,/KP'W8:$4$ M9Q#%8S]*8V==^U?I-7Q H@DL\KRKNTH8QA&UTD;^$.[VGT=AY,?C[ +.KU,_ M3=*+5\>TI7\&\<@?9U=L))F?1!F<4# ;%,Q^CX+PKC,=#XO#C-X^<6.FH^J> M#'M&?03N2*;D!DPM=U(P"O+750(7 20^6'DS!&PW+SSDV*FQ],:-#TF M97#04FO4&_=P$&?6-:;OKL/J\#8M^I;\:WO_L'T4>B,;@@K7[!I>7K$\NG\L M^HE1K6O0*V6XW3NSY/<5M=W _]=*F?W$!AA>[/E/4$L#!!0 ( )*A^U:1 M2I04)00 (\* 9 >&PO=V]R:W-H965T$9KJ7[J$M' 75,+/?9*8U:G@X$N2FRX/I$K%/2RD*KAAHYJ M.= KA7SNF)IZP((@'32\$MYDY.ZNU&0D6U-7 J\4Z+9IN+H_PUJNQU[H;2^^ M5LO2V(O!9+3B2[Q&\VUUI>@TV*',JP:%KJ0 A8NQ-PU/SQ)+[PB^5[C6>WNP MELRD_&D/'^=C+[ *88V%L0BU^2K7?^#&'J=@(6OMOK#N:#/F0=%J(YL-,VG05*); M^=W&#WL,>? , ]LP,*=W)\AI><$-GXR47(.RU(1F-\Y4QTW*5<(&Y=HH>JV( MSTP^"L/%LIK5"%.MT6@?!*5"[X;3E>Z/!H:$6-)!L0$\ZP#9,X I?);"E!K> MBSG.'_,/2+F=AFRKX1D["OAG*TX@"GQ@ 8N.X$4[BR.'%SV#]T'*^;JJ:^!B M#D_,AXM*%[74K4+X>SK31E'>_'/(#9V4^+ 46TNG>L4+''M4+!K5+7J3-Z_" M-'AWQ(9X9T-\#'UR3;4Y;TEIN8#+2E0&WWZBY#Y@SR'-CV/O0?#.)86D&M2& MX$F<*1$6LJ9BKL02>I6@&]EJHJ+& -\T+MH:/E4+!)+WET6'0"/B/:+%&\+V:S0D/N7"I$:((4@\Z/8 MDOMID/8AB^+.(&G;[D8VV=#+DSXD&YG&,;*$D:$)>Y!B7V^DX37Y\K=(=[7_ M&ACS\R!T/ASZ+,BM$R/RDC4GAPLLL)F1/5'H(LO^A\C&L5.*D?!#D0W]/(]M M9'.6OG!D61CV*:>'+QS9Q,\S"A)9EN;/Q):>\Q>-;>8/4^?&V,^CB#R0'6E- MR:XU)2_4FGRX;(WML]-&*E/]YSP([^]HWM!XJ&\=%7RXXVXD\'T)V$F@'ZTI M*7)Z10,"&/G49;18*QYWL4H#:E,U+KN)H.N%^G$GI-[7Y3+]!&WB_UXRDZM,-V\L+O=35O3;LAX(.]&M<]<+2NAH<8%L08G&45&=>-/=S!RY4:.F314 MRFY;TL2(RA+0^T)*LSU8 ;L9=/(+4$L#!!0 ( )*A^U8DD,8BI@( -T% M 9 >&PO=V]R:W-H965T@2T>:4QS20(=%YBS?2U;%"09255S0P=U3K0C4)6N*":!W$8#H.: M5<++ID[WH+*I; VO!#XHT&U=,_6V0"ZW,R_R]HK':ET:JPBR:"/YKZHPYU#@BK73:?6';^2;DG+?:R'H73 SJ2G1_]KJKPT' .#P1$.\"8L>[N\BQ MO&6&95,EMZ"L-Z%9P:7JHHE<)6Q3GHPB:T5Q)IOGN6JQ@+NZX?(-$>Y>J=\: M-5P^LR5'?34-#-UCO8-\A[GH,.,3F$.XE\*4&NY$@<7_\0'QZTG&>Y*+^"S@ M]U9<0Q+Z$(=Q<@8OZ9-.'%YR N]&UC9)YM[%(W)FJ (W4AL-O^=+;12]E3_' M\NY@T^.P=GXFNF$YSCP:$(UJ@U[V\4,T##^?(9WVI--SZ-D3S6/1<@2Y@I-= M.T;Z+.QQTGM\W./C_E7DDN91VWH1#5,BK"2GP:[$&BXK01K9:B8*?34!ZAJZ MKMUBCO42%221WU/?L+RK_P5$B3^($RO$?C@<]2Y+*5I[9Q3Z83RV;N-PV%LU M;E QD2,,H@&DG]XM#7M3Q J(!TCBJ&#D)^,(QGX8CN!9&D:VDQE>6)II.K)" MZB>C(1QK7G PPK*?XW-$WVTGU16\!#'FJN-!S;VM,?14$NMA"1?6EK$'@E[54 M%36X5)M UPIHZ8PJ'L1AF <59<);S-S>O5K,9&,X$W"OB&ZJBJKG&^!R-_I2252 TDX(H6,^]Z^CJ)K?GW8'/#';Z M8$YL)"LIO]C%'^7<"RTAX% 8BT!Q>(1;X-P"(8VO':;7N[2&A_,]^CL7.\:R MHAIN)?^+E68[]R8>*6%-&VX^RMWOT,636;Q",;N)!P#\;<4F2T"=Q&"<#>$D?8>+PDN$(_[E>::,P"?X]%6,+D9Z&L(5Q MI6M:P-S#S->@'L%;_/I+E(>_#1!,>X+I$/IBB856-AR(7)-;6=52@##:KAQU M\O8)*U##*=J#P*=I/VR!%$=>N/,"K1EB**0VY(Q$?I1$;DSS"8ZQ'X]S-TZCC'RFBMED M/[1)TPF)LQ@MPC@BR3@C#])0_CUL-IZZ<1R'."9^/!UW8T@&$B'K$R$;3(16 M[FNM >\4+XN\1Z*,,\- GU)_$.VT^L[%A0+N)*0OKOB+JY\*V&OR!@JH5J!( M$OE[WM]KHNRS>"'7%XV&O4.4(O23T&F3^.DD.XR4?,"D4_CV*87)=43,WG6( M,MDQR<8_^#H\FTS]+$M)%OIQ,CZ2\Q@QC?T\M-F1)7XV38=TS'L=\_]=T'=, ML*JINE*^I\]MQ7S"Y%;MYDEIAQV\:TR#$E4==AM6O<=N'+:0XJ*@HL#_NY=L MUU969'5<53_3^V^@2A,0I;WI(\V=^7DTPNL['T^3D=U(W4;FA[FKTHSD?H1E MB-,D8IUD\P;< ?=.U:?%"K*-6J?5@A%GJIV&$UZ?U%6%5W1CW6B$* M8*6>1UBATVS40?426UK#-X<]CGOQGH<#MO7B J4(Y6I+6 ("6RB\6P."8MXB M+24?W0-)J+U7JX6[_+/D#:U7X\^6I9 P._NPK4!O7 MTFA\I!IAVO_]?K?OFJ[;9N'E>-MRW5&U8?ABP"_KZ4T^X5UT/>2BV]02P,$% @ DJ'[5AQ4.L9H! M1 P !D !X;"]W;W)K&ULO5=MC^(V$/XKHUQ[ M HD-)('PF/%1R >U0]3PF*6YFG@[K?>C=ENM=Y@QY8L]YK2R$3)CFA[EMJWV M$EEBG;*T'78Z<3MC//>F8SMW*Z=C4>B4YW@K0159QN33'%-QG'B!=YI8\.U. MFXGV=+QG6URBOMO?2GIJ5R@)SS!77.0@<3/Q9L%HWC?VUN">XU&=C<%4LA+B MP3S\E$R\CDD(4UQK@\#HYX#7F*8&B-+XO<3TJI#&\7Q\0O]@:Z=:5DSAM4B_ M\$3O)M[ @P0WK$CU0AQ_Q+*>GL%;BU39;S@ZVW[LP;I06F2E,V60\=S]LL=R M'\X&E*66M,K)3T^7 M6JP?KN945P+7(B.N%;/;U?C,5BFJYKBM*8PQ;J]+R+F##%^!C.&CR/5.P?L\ MP>2E?YO2JW(,3SG.PUK GXO,8EES;?LB22F M828ER[=HQ[_.5DI+TLMOEXIWV-W+V.8,C=2>K7'BT2%1* _H3=^^">+.NYK, MNU7FW3KTZ=(='1 ;L,3!I[TE:V:TS?73I7SK$6>GXV@P60D#/(>UR//RY!RY MWH$HZ"C;F,+&5$ = ?0.0?%'R!SC:!@'X@LKOEK %3!CG5(#4-#(BVR%TH13 MA@=E@NF=*!3+$]4;XUV&1[@VNT?E%@XX;0 M"V+X#H+0'W8@]/N5[Y:(-EA!V*'/T.]WJR5\1+GF1A:-H#=LPM#O=FMBOJ@3 MNOT^Q>M&QH>^:MCN56SWZMFF#IP4*5JZ+VGVR&32>J$$U8)[EA;N",\4<>NF M+PFC-OAE(7\FNAV19A>TZ1"E?O@?EDGWEG -.Z6!L1(7M',B(2FDL:F7T.A9 M .R DMX5SO\J89KR85S"@8I&V!/_5E1$1-SWB92_.?4@3/6I.4LDAS.WA Y80C7"$\]8+._^AY:Q=.L5[;.2]A^,7N#&$/G!Z.6^THOUH/TY MT)89G;S238)6$(>FGP2Q/Q@X/#*/(]-$0C_JP[T#:(1QT+1FP0#HXK!!;J># M86RF>WXX^&NTEWTD:$51ST8:^H-NG3+ZE3+Z_UT9MHG42Z,6_1M(0S[GY+H$ MI M_TMW9W4/6NSM/7$E--TZ[7!'UWR4QH#6-T+HTX,)4/UQF/X)4$L#!!0 ( M )*A^U9&PO=V]R:W-H965TLFCHI:MX#8X!$V:9U4C74=MV':1], M<5.O*V,5P72\86N\1?-SLU"T"WJ4LFY0Z%H*4+B:>+-H=)E:>V=P7^-6'\A@ M,UE*^6 W5^7$"RTAY%@8B\!H><0Y_:O+G7)9,HUS MR7_5I:DFWM"#$E>LY>9&;K_A+I_,XA62:_>%;6>;I1X4K3:RV3D3@Z86W M=G4XX".9:?F6'3L9);4-::T*S@4G7>1*X6]E)NC:+3FOS, M] 8?4;0(3)3PPU2HX$IT5VUK=G['EASUAW%@*);U"(H=[F6'&[^!F\.U%*;2 M\$646+[V#XAC3S3>$[V,3P)^;\4%)*$/<1@G)_"2/O'$X27_27RE9 -SXJJH M0:CXIH*Y*SN5XO=LJ9W^S[$"=/CI<7P[3".]805./)H6C>H1O>G[=U$>?CK! M/NW9IZ?0I[0*%DJ6+7$_O+CE,^P3G#.#:ZEJU,>2.!GF>!)W%55- M"6H%XI'(+S?I'F4B%HR5M;'PUGD S]+,JL M$/MIE)(PR/Q\:(4\\6/RNV>4213F?CC,8!CY:19:;/]C'$*4 MT4K[;H8(<9!!XF?#'%(_&T20TS>!.VD8[^MS!E$Z\,.!)1%% X=W!O$P\2.G MB^/8'Z0Y'.N7X&#DJ577[F'34,A6F&[Z>VW_=LZZ)^/%O'MXKYE:UU02CBMR M#2\&F0>J>\RZC9$;]X LI:&Y<&)%[S\J:T#G*RG-?F,#]/\HTW]02P,$% M @ DJ'[5HC)3]Y( P CPL !D !X;"]W;W)K&ULK59M;]LV$/XKA 8,+;!&LEYLU[4%)+&+96B'(,;6#\,^T-+9XBJ1*DG9 MW;_?D9(U)V*<8/,7FSS>\]S=0XJ\^4'(KZH T.1[57*U\ JMZYGOJZR BJHK M40/'E:V0%=4XE3M?U1)H;D%5Z8=!,/8KRKB7SJWM7J9ST>B2<;B71#551>7? M-U"*P\(;>4?# ]L5VAC\=%[3':Q!_U;?2YSY/4O.*N"*"4XD;!?>]6BVFAA_ MZ_ [@X,Z&1-3R4:(KV9RER^\P"0$)63:,%#\V\,ME*4APC2^=9Q>']( 3\=' M]H^V=JQE0Q7R6%+FU(_B,//T-63&+Y,E,K^DD/G&W@D:Y06 M50?&#"K&VW_ZO=/A!( \;D#8 <*G@/@90-0!HM=&B#M _-H(20>PI?MM[5:X M)=4TG4MQ(-)X(YL96/4M&O5BW)R3M9:XRA"GTW5[/HC8DC7;<;9E&>6:7&>9 M:+AF?$?N1+$%35JJWZ*R, M1QX_/X'U4IYTZ!W(.7_OC#:!Q\<$E]2;+E)E*8\-YOVAAW-;UV;U<9);!SS MQ.S3*$DF41 $,C<9)>G.2L.)] MJ1D92-3P/2AC0"FT9)D9=GJI9O,7OF-$"URL&YD5^!*]I%PR2'\Z5&WH% \5 M&SI-AFJ]P/1(J7&OU/A"Q^B#>9Q9]I(F8]?>CY.A+@['^'TX+'OI9 R&C"L7 MXW0Z>E:C2:_1Y&(:Y:QLC.L+*DU>JY+#T:V2D]&EDHO1J9)_TF%4('>VM5/$ MO@7MX]%;^^[QVC9-3^PWH]GMR&%?8K?9-H?_TK>MZF//T'4$L#!!0 ( )*A M^U:0O=045@0 $85 9 >&PO=V]R:W-H965T;^[X^K,+E'640*IB%B*.&RFUC6^FA,O M2\@COD5P%+5CE)6R9.Q[=G*[GEI.Q@AB6,D,@JJ_ \PACC,DQ>/? M0JGYDE MUH\?T=_GQ:MBEE3 G,5_16NYG5JAA=:PH?M8?F''CU 4Y&=X*Q:+_!<=BUC' M0JN]D"PIDA6#)$I/__1'T8A: O9Z$DB10'XUP2T2W+S0$[.\K!LJZ6S"V1'Q M+%JA90=Y;_)L54V49J]Q(;FZ&ZD\.;M-#R"D>B\2+6"UYY&,0"":KM%[&G'T MC<9[0)^!BCV'+$J@"[108VF]CP&Q#;H^T"BFRQ@NU)"Z$%1=K>&\O@&I[HLW M*NM^<8->OWJ#7J$H15^W;"_44\3$EJJ*C(N]*AB_.S$F/8S_W*>7R'7>(N(0 M5Y,^-Z??P$JEXSR=---MU;NR@:1L(,GQW%Z\9;UU;W4=^?N32D*W$A+QCZ[@ MTQ,\_1.RB7PE=G0%4TO-5 '\ -;L]]_PR/E#5_Y 8(UFN&4S7!/Z[#IA7$;_ MP1K-F9"Z4D_YHSP_DYC##'N.2X*)?:@7H0G#HY$S+L,:]+R2GF>D]X$S(=!] MJO0NSEE^4#JG'8(G'+_V_+#%L!M!].3\DIQ_'KE/ZART[/S.LR^P,R(MAIHH M@GU7SW)4LAR9WW!W=$>5A(AR'ESI>(\ZC+ [)H';(JX)PY[GAWKF0R9.1!:2)J1'JTAE^,1L^&=H58'44*%@W-XNZZ*P[_>H/JE\FI@WS,\2JP*[ ML8DG)!BWA583%SJ.U][NV;6/7-D7QL^4/ZC7BF+8J#SG,E#5\]-'N].)9+O\ MN]>22R:%)*RA[W8 M^KCGZ-QS=95OC7UV:T0/+[72;L+6WC>7G+MRC;5PIZ9!33M+8VOA:6I7W#46 M115!M>)IDESP6DC-BCRNW=LB-ZU74N.]!=?6M;!_KE&9[82-V>O"@URM?5C@ M1=Z(%<[1/S;WEF9\8*EDC=I)H\'B)6[XM[4K"^>)6;]!Y M*HN'.9:ME5ZB Z$KN!'2PI-0+<(="M=:#%$.1G!553+40"BXU=U%"A4YFJ$7 M4KEC"GFZE/(DA-(DS3; Y^^#Y]A2?!Q MA*=OX9R<&>Q)!WO2R)<=X-LQ829=J4SPP<'/JX7SEJ[@KWT9=I1G^RE#6UZZ M1I0X8=1W#NT&6?'IP_@B^;HOW_]$]B;[;,@^>X^=W%QX<,.U. &QH0*+A<(1 ME7WDA$):4_02"%TBT!J4%NER !E%X?A2JK:2>D7=6MH6*[HO'DFGWV=;I^4B M:@F/SZ9(*]B"Y!OM,)X16Z$W8EM0.%2\(DIY_/&=BNL[N)-TULCH7Q MU&IQN*;'$&T(H/VE,?YU$OIM>%Z+OU!+ P04 " "2H?M6CNX/JOX" "2 M"0 &0 'AL+W=ORH&)@Y5(N+FQ;9#F46)RS!5#U9L9XB:6:\KDM%ASPM :5A>TY M3FB7F% K[==K=SSMLTH6A,(=1Z(J2\S75U"PU%>S+/I5ZPT_X"SV$, M\F%QQ]7,[EBFI 0J"*.(PVQ@7;H7PT3'UP&/!%9B8XRTDPEC3WIR,QU8CA8$ M!612,V#U6,(0BD(3*1E_6DZK^Z0&;HY?V*]K[\K+! L8LN(WF"_ ^ M"_!;@%\;;935MD98XK3/V0IQ':W8]*#.38U6;@C551Q+KMX2A9/I#5V"D*HL M$HTAJSB1! 3"=(JN,>'H$1<5H%O HN*@HP0Z0Y=+3 H\*>!,==&9P 6@5QIQ MBB9K= ^Z@PB=HR&CDJMBH5LL-?T:'8] *@)QHJ@>QB-T?'2"CA"AZ%?.*J$^ M+?JV5-:T0#MK;5PU-KP=-GY6]!SYSBGR',\WP(?[X2/(%-RMX=Y;N*T2VF75 MZ[+JU7S^#K[+DG%)_L)4V1?29*?!]\QX_=>]$ NQIR/5'ZIVC ): ^:(<52 ,):P(0IK(KV[+%.WY_A>U+>7 MFVZVPQ(GUF59&F3V.IF]#V7BF03^JE3FG%7S7#^A63*J;GB##3G..\';$5X0 MQ9%9<- )#O8*_KB%@JW/&M-I"'/#T$G,\L).7KBWP[\+2=0F"IO[A$ED>,@^ M/Q#9&\-19S@Z5)]'VQGW$R_RWQ5F.RQ.O&1'V\2=S/@_]7G\89]O1WB!&[IF MP4DG.-DK^+.-E&QO'J:D&L+<7B^(WXFT-TY,?5NYQ7Q.J% EG2F@D_4$L#!!0 ( )*A M^U9D7.G*4 0 $L6 9 >&PO=V]R:W-H965TME+5[.Y].-T'!R8)6L YVR2[]^O/ MO 1"("ZIR)<$FYG'SPSXF<'C'>/?Q1I HA]A$(F)L99R M K:;&-C83[SXJ[5,)LSI>$-7, ?Y=?/,U<@L4#P_A$CX+$(/0FAI4P@@!%&01!@J1X_)N#&L6:B>/A M]1[]8QJ\"F9!!U#.3& M0K(P=U8,0C_*_NF//!$'#@JGV8'D#N38H7?"P)YN#&W)<^"$0C#WVD/D?? M:! #>@(J8@Z)E4#7:*[>)2\. +$EFM, Q!6:T2#(W)ZHW*.\?P!)_4!\4#Y? MYP_H_;L/Z!WR(_1ES6*AC,78E"J&A(GIYGSO,[[D!-\^>F*17 OT>^2!5_4W M5>Q% L@^ ?=$"_AG'-T@V[I"Q")V Y]9>W>BH6,7S\-.\>P3> ^P.'P25^AN MJU)(%P%NWIO [ JLDHUU4 M/J(\'1T0;K.S>:-A, M=EB0'6K)SAC?,$XEH 4[(5I:@'.W7$=@E5A'1:RCB^O/J,MD= 1620:VRNIH M=:) .8RCD: &DQ.;"!\4;]R-"N4X.AG2FE3YD9(?Z4Z)-'+48Y^[#KM"J M$9?E%CL7UR6L+>EG)Z0CM&I"RAJ/VQ3Y%LJDJ]UY)-J5WAI)V0K@-KU &Q&K M5_=:*-JEWAI*V2A@?:=PGMX-7P_G$JT +GL!K*VN;]'%42VF/G%J85VBJ).R MJ!-]4?_"T^_9U_13CW*N7'2%5HVY[!0(OKA^$FTSP;2YAO]'/G* 2LG"<1VG&.R=3,\5@KDLCB2V0%5,5N< MB-ZEYX!'\_?X=I:=:Y8PV3'K$^4K]>*B )8*TKH9*&8\.[G,!I)MTL._!9.2 MA>GE&J@'/#%0]Y>,R?T@6: X/Y[^#U!+ P04 " "2H?M6$0=F0AH' #: M00 &0 'AL+W=OB:;L/PSXH-A,+U8LKRDX+[,>/DEU1E"A&:DZ OB26 M?7QX?'@G/[J3?'Z?9E_$EO,OO<^6YVG^SP*$_X^0V(?QT'V_16/ MTON+F3O[\<:'\&Z;%V_,5^>[X(Y?\_S3[GTFC^85RB:,>2+"-$$9O[V8O73/ M+CU2#"@M/H?\7M1>HV(I-VGZI3AXL[F8.85'/.+KO( (Y+\#O^115"!)/[Z> M0&?5G,7 ^NL?Z*_+Q.!V&>\L!+H>>V39^BE$%R^>;+8(+DS'PJ< M+$SNT*M A (]O>)Y$$;B-SGTT_45>OKD-_0$A0GZN$WW0DXESN>Y7$KAT'Q] ML[O)JJ P#3B2$4>!^A62UN&66X$=QM M(]P%)'!"81MRR M(FXY7G0OVX'K.GC1"&^#E5]^XYO"VW64Z'&LGI=;?CANN=J^N"9SC)+$"CIT MYZ#0= IJNL^=5-2?W($B#PA-)T_)/=FD**GFTFG%.JCR@T+3R5/:S[4J MI,>=Y4_8#X@8@Y5%Q;A*?;EV^=4K&7J)'?M$@W<4"$VG1:D[UY]6.H!*12@T MG3PE%EVKI'ID.BQZJ1Z3F47V*+WFV@5;KWSXF)7'#V:$=:K!FPJ$IE=OE![$ MSJ0R H,J22@TG3RE)+%5;#TN(T[86JAC["^;11R#W<)Q:(=>PK7"G5W)]4J) M=VG"OZ,XR+[P'-WN.R23?:;!FSI&60XK'8G)M#("5&]"H>GD*;V)'Z@-!F*+ M^-=]* .K""%SY-.V-,*X>:%@L*+NTN_X*L!*U6&[JH/\*K!/-7COQBC88:49 ML3>MP =5EE!H.GE*66)[X;!?X/NMD/:7?C/NVT8N[KHBP$J]8;MZZQ7V;_F! M1T=67.,"0"MX4&@Z(TH3XN6TXAU4-T*AZU!H.D=*^Y%I=6T)J$"$0M/)JS5NQ^S< MDE;8.\W,L)GH/BM=1NRZ[&>2HE=YR#[OX)T=H^!'E#0DT^KV$E#Y"(6FDZ?D M(QFQXTO:W=Q66MA,=)^5:B-VU?8S:='STL ^\^"]':/T1Y1X)--J%!-0G0F% MII.G="89L5E,#'U@4Y7(8&>I$E&E\^AC^\7M#.E7-+)///@FH3$J@52)3CJM MGC(%5:-0:#IY2HU2>R6RU[4S;?>-#44C@Y6E:$25YJ, S>6?^Z*PSSQX*\>H M_]':K8'3ZC=3V#L-QY"?5,E/:J],]LN#=L>X74,R&'77D*B2>!2@JUS+ FQ< M &C9#PI-9T0)2#JMAC(%5950:#IY2E52>TFRLX9$#5U@CRZ:5P0&,T*IVW%5 M0)5@HP#-XGJ8]ZL@V6<=O'=CU/^8TH5L6GUC!JH6H=!T\I1:9"/VC5F['VRX ML(/'*!$R)1?9M'K(#%1#0J'IY"D-R>RU MRL=E1[MK;+K/R&36?9\1JSTN M!<;J1'S^L$^\R#]WB,8B%32I)-J]?,0$4G M%)I.GA*=[(&'5!Z5(.WV/#6CE$K9$IZLFGU MI!FH)H5"TY\X4YK4L]UT_>^V^;!=Z0%?#/:9A^XA%)K. MD]*7WK0ZTQZH[(1"T\E3LM.S5RG[)4#[J>!6 MA,CK[-:P_>%[]Z\"[([L)$ MH(C?RC'."U]F3W;\(8'C09[NRF?Q;](\3^/RY98'&YX5!O+SVS3-?QP4C_=7 M/^>P^A]02P,$% @ DJ'[5J_T7*&; @ PP8 !D !X;"]W;W)K&ULK55=3]LP%/TK5H8FD(!\%^C:2)!J8M,F(3JVAVD/ M;G+;6"1Q9CL-X]?OVDFS% +: R^)/^XY.>=>^V;6<'$O,P!%'HJ\E',K4ZJ: MVK9,,BBH/.45E+BSYJ*@"J=B8\M* $T-J,AMSW$F=D%9:44SLW8CHAFO5JH0+( K98W@J+I4C,I9+' MI,0#=4*&T3$OJEJ!^ <[7("B+)='&'FW7)##@R-R0%A)OF6\EK1,YM/N\%?9_K\I3XSC'Q',\?@<>OPQ>0(-PU<&\?;F.F^G1Y?;H\P^>_ MP'<+$JA(,H)N]M+T\W(EEDZ*ZZPAYEAAG\9$#H ]]>X'D*LNP^'4#E&^&EF=M)Q[(,E5FPHD&.5["#-1C?B_TR*E9$I(!DX0S M)& QM$9>?QH:^\+@*X&-;+PC$\F<\RA1)8X!55#WSS&:IXNH8OYE06 M_VA3V;H6BE=2\:P"ZQ5DA)5/_%SIT !HGG: 7P'\?4#G%4!0 8)3/70J0.=4 M#]T*4(3NE+$7PDVPPM% \ T2QEJSF9="_0*M]2+,U,E,"?V5:)R*QC@G"E/R M @F:\87:8 %H FM=0+DN!X7&7"IYA9@NV?=HE"3$Y!=3=,O*(C79OIR PH3* M=]KD<39!EQ?OT 4B#-T12K6!'#A*K]5X=.)J73?ENOQ7UA6@.\Y4*M&4)9"T MX"?'\>$1O*,UJH7RMT+=^$<)OZR8C0+W"OFN'[2L9WPZW&\+Y_^\3__9^XX8 M05TU0<$7O,+W !*PB%.$6;)3+=]'DG;:2<[NL(\_6I;9N:GYHT[']79O)H8V_SS,]M.G9@=O\>35B1X9N+4/WJ RC MC M%7LKC"9[UK2JA+>B2Y7HGH.N]H$N;L&$3[H5\R.*Y=F\OYD,:SV\/,JR# M#$_.=8MF8[/"';1[W_[0X[=!C8W3V)SN2P%--I7(H9 MB&71C4@MU(JI\J2K9^N&9U3<\WOS-UY_[+7,3W2#5/8S?^C+[NH.BR5A$E%8 M:%>N_4'G7I0=2SE0/"^NY#E7^H(O7E/=Y($P!OK[@G.U'1@'==L8_0902P,$ M% @ DJ'[5K;/]]FY @ 3 @ !D !X;"]W;W)K&ULK99O3]LP$,:_BI6A"21&_C5IQ=I(T(*V29,0'9OVTB37UB*Q,]MI M&9]^9R?- J1EJO:FL9-[GOSN')\[W@CYH%8 FCP6.5<39Z5U>>ZZ*EU!0=69 M*('CDX60!=4XE4M7E1)H9D5%[@:>%[L%9=Q)QO;>C4S&HM(YXW CB:J*@LK? MEY"+S<3QG>V-6[9<:7/#3<8E7<(<]%UY(W'FMBX9*X K)CB1L)@X%_[Y=&CB M;UC"%/#=&B/&K\73:5QIA=[QU MO[:Y8R[W5,%4Y#]8IE<39^20#!:TRO6MV'R")I_(^*4B5_:7;)I8SR%II;0H M&C$2%(S75_K8U*$C\ <[!$$C"/Y5$#:"T"9:D]FT9E339"S%AD@3C6YF8&MC MU9@-XV85YUKB4X8ZG4QIR33-V1-D9"X6>D,ED!FL<7E+7"Q-ID)I=4HX?E ? M2#=Z*HJRTB#_RJXK7>'EHA!2LR=JE^GJ$;\W!>1X!IJR7)V@R]U\1HZ/3L@1 M89Q\6XE*49ZIL:LQ'T/EI@W[9[&#_4O$S$GJG)/""L$<^W2^?08IRW\J# MYW(7J]B6,FA+&5B_<(??3Z!2D2N>,;[$$J90W&-U\ 5]F=56@WXKLW7/54E3 MF#BX-Q7(-3C)^W=^['WLR_,_F3W+.FRS#O>Y)SMJ?UFK8JLRK62=C**1-W;7 M7?"]U@>"#UKPP5O@@S[P6A5UP/W &P0OR/=Z'T@>M>316^11'WGTBCSR_)?@ M>ZT/!(];\/@M\+@//.XIN?FJGH'OM3X0?-B"#_>"=_N>VK:[K-,ET[9+]N4W M?+47@G@4#5\D^#HJC$(_:J-J.*Y+! G77'4\]?TBSK_F&,0Z^QU&27TPVG&]?3Z?Y8L-BFK]*MRPI M?K-*LYCRXC!;3_-MQNBR?KB0[C>\/*+Z?Q\2]?LEO%/VYNL.)H>4)9AS)(\3!.0L=7% MY-)]?>7#TJ&R^!RRA[SQ&92AW*7IU_+@W?)BXI2,6,06O(2@Q8][=L6BJ$0J M>'RK02>'OUDZ-C\_H;^M@B^"N:,YNTJC+^&2;RXFP00LV8KN(OXA??B-U0'A M$F^11GGU+WBH;9T)6.QRGL:U<\$@#I/]3_J]3D3# >(>!U@[P&,=4.V JD#W MS*JPKBFG\_,L?0!9:5V@E1^JW%3>131A4I[&6YX5OPT+/SY_EW":K,.[B('+ M/&<\?PF2XN(Y [?%!;/<%5^G*_ V3$+.SMX7"5^"C@=X?LTX#:/\1>'VZ?8: M/'_V CP#80(^;M)=3I-E?C[E!=?R+TX7-:\W>UZPA]?ON^050,Y+ !V(%.Y7 M>O=KMBCS:9__R32YQ?5)%; I/R@ YY0#KT^:]9FN=[M"N:98]A ML@:?:;1CJJCW4*2"*I>3^SF$@>.>3^^;X0Q923R] T]/R_-RL=C%NXCRXG1= MQFG&PW]IN6RH:.Z1<(/ F3N#3M#BJ3+S9R10$\4'HEA+]$_&CTTG[B0*X1EJ ML>P:>0%":H[DP)%H.7ZIUL(RD_:?[-O-@ M"4S*0W#(0V!TTO? GW*VVD7@?;ABY0+_%Z.9M'A1&L%1\2I9"/;AZ^:"^ M]\%_X)A2J,/D.63\7* *QJ&UMHU5I88Y\(2FIP+(71< MO=(Q*W2S[A.&[W8*W8"5_! NY G4EGRC0E=#214,NK#-5&7F!H'70U6H!ZA7 M#P:%#G95 <2S#E&%50!)#\]&8T.O'9[N^".+FQ[-N)4Q1B\#"C$"T:A=':W4 M,*VP"XUU_;3O&40VQLS.@;*Q\S MNF0QS;[F@"9+P,M#D-"8J4.R*EULH(A'Y >OU@4.I0 M5Q>XN+U)IS!"3D]!1D([(+UVZ%\!CBU_5IL:MM#D; AY@F:C+@I6-W5LH7HA]&/E;P!*.. MI7A6FSFVT.1<" 'D61Q-\;K;1B1H%[X!(YEG8S+%XFB*8NA$P7/ 2B8JI(1G M;33%ZTJ$#DF=B,,T'7&6,P2K@['JHRQA29/ MR@D9@T<=3L%6NSNVT.1<"+V#+0ZGX.[6D8^\]@H]9"4S%1H%VQM.P8JI$T(< MTF:J,,.!WS/V@86$P-:&4W!7&Q3):O-43+!XO1.C0D%@O8)0W_Y'UCT]MO%= M,$:W S>&9T>=3L%6-WQLH<@[Q5,.4<@T?@% MA#%:&43H$#+J7 JQNKEC"TW.A1 [9,RYE %P35D[Q5,.4:@8HF^TW!0K1L_S MF][3^%2.H5!(XS6B44=2B-UWC,;HV! A98C%D132W2^"&+878KV1S%.H$&)O M((4H)DT4/ >L9*)"(A!KXRAD>!Q%:R*_5R;D@:^7!_5M?F1!TX,9OTDV1K?" M%Y+#'W46Q;>Z9V,+3/U\O+=_C]HM@Z3'$1L M54 YK_SB7L[VK\OO#WBZK=XXOTLY3^/JXX;1)&ULK55M;YLP$/XK%JNF5NH" 9I5&4%*0K9U4J6J5;*$@8W LFJ M*+#X-0/*ZXDS=':"6[+.E1&X<53B-=R!NB]OA+ZY'4M&"F"2<(8$K";.=#A> MA$;?*GPE4,N],S*1+#E_,)>K;.)XQB&@D"K#@/5K W.@U!!I-WZVG$YGT@#W MSSOVCS9V'"X,7\JIM$]4M[J>@])* M*EZT8.U!05CSQMLV#WL S=,/\%N _Q00O@ (6D!PK(6P!83'6KAH 39TMXG= M)B[!"L>1X#421ENSF8/-OD7K?!%F^N1."?V5:)R*KYC";$V6%-!42E#R'#'= MG>_0-,N(*26FZ(HU_6@*>YJ PH3*,ZUR?Y>@TY,S=(((0]>$4JT@(U=IMPRY MF[8NS!H7_!=<"- U9RJ7:,$RR'KPR6'\Z #>U>GH\3YUFM:XLPR]"S;D$)D2GE MLA* OD^74@G]Y__HZX'&2MAOQ4S#L2QQ"A-'CSL)8@-._/;-<.1]Z"O :Y(E MKTFV>"6R1Z4*NU*%A]CC:<&%(K^;'Q6V>I5(Z"M%PW)I6

V<3>8!2YF_T, M/]<9#OS'.LD1.HOG.OX@Z'2:,-V]\56 6-N](5'**Z::1NVDW6J:VHG\1#X; MCN?#'GFB5UFS>?[2-WOP&HLU81)16&E3WN"]GJZBV2W-1?'2#L\E5WH4VV.N MUS$(HZ"_KSA7NXLQT"WX^ ]02P,$% @ DJ'[5KA-)=?E @ X@D !D M !X;"]W;W)K&ULK991;]HP%(7_BI554R>U34@@ M0 >16EBU3NM4E;;3-.W!)!=B-;&9[4"[7[_K),UH&P)">R&VXW/X[HD3>[ 2 M\D'% )H\I@E70RO6>G%JVRJ,(:7J1"R XYV9D"G5V)5S6RTDT"@7I8GM.HYO MIY1Q*QCD8]!V[8/-9FP X&"SJ'">B[ MQ;7$GEVY1"P%KIC@1,)L:)VU3D=],S^?<,]@I=;:Q%0R%>+!="ZCH>48($@@ MU,:!XF4)(T@28X08OTM/J_I+(UQO/[M?Y+5C+5.J8"22[RS2\=#J622"&LRKF.1<),:9&68B1(&2^N]+',84W0:F\0N*7 W57@ ME0(O+[0@R\L:4TV#@10K(LUL=#.-/)M-,P_%7##PB-8J+3&<2NZF0FOVA^?/Y](@+ M30$Y'(.F+%$?T/-N,B:'!Q_( 6&%@>E/U8*&,+3PK58@EV %[]^U M?.=C75#_R>Q%;%X5F]?D'FQX>.>%RL]5YB.T#%JNYP_LY3IXH_6>X.T*O+T- MO%T'7J@Z:^#MKO>*N]%Y3^Y.Q=W9QMVIX^[4<+=><34_N;L7=W<;=K>/N[L#=Z+PG=Z_B[C5RW\: !X*9!EE'W]N!OM%_3_I^ M1=]OI,>O;>$UHE(^,3XG]S3)H*Z4_ILOC=?IOWYCWTYJ][Q_DPI&>VT'-J>? M*RKGC"N2P QESDD7\Y+%B:+H:+'(-^6IT+C%Y\T8#V$@S02\/Q-"/W?,/E\= MZX*_4$L#!!0 ( )*A^U8,I.F^M@( )@' 9 >&PO=V]R:W-H965T MICTX M]@ WWG'O.M7T]7G/Q+ L A38597+B%$K55ZXK MLP(J(B]Y#4S_67!1$:6G8NG*6@#)+:BBKH]Q[%:D9$XZMM_N1#KFC:(E@SN! M9%-51+S< .7KB>,YVP_WY;)0YH.;CFNRA =03_6=T#.W9\G+"I@L.4,"%A/G MVKN:)B;>!OPL82UWQL@XF7/^;";?\HF#C2"@D"G#0/1K!5.@U!!I&7\[3J=/ M:8"[XRW[%^M=>YD3"5-.?Y6Y*B;.R$$Y+$A#U3U??X7.3V3X,DZE?:)U&QOK MC%DC%:\ZL)Y7)6O?9-/580?@A4< ?@?P3P4$'2"P1EMEUM:,*)*.!5\C8:(U MFQG8VEBT=E,RLXH/2NB_I<:I]#K+1 ,YNJUJRE\ T.U&;Q )$IW/0)&2R@OT M$3T]S-#YV04Z0R5#CP5O)&&Y'+M**S \;M9ENVFS^4>R?6_8)0KP!^1C/QB M3]^&SR#3<,_"_==P5_ONS?N]>=_R!4?XIKPR9HG=4/= B=*5F'*I)/I]/9=* MZ$WV9\AE2QL.TYJ#=R5KDL'$T2=+@EB!D[Y_Y\7X\Y#G_T3VJ@)!7X'@+?9^ M^55A?UZJ*3U$E8@2 L@R%]T4'FR(OVU!W&A)^.:(M[ M;?%)VFKR(CBE2)]7Q%4!8DAC?) _"4;>GLC#H!'&1]8WZ54F;ZI\Y(IH;9U6 MV/8@Z'K0D-;D8)\%7A@F>V('HL(@V:^IN],WS9WU@XAER22BL- X?)EHMZ*] M!]J)XK5MI7.N=&.VPT)?G2!,@/Z_X%QM)Z8[]Y=Q^@]02P,$% @ DJ'[ M5F+NAFN' @ L@8 !D !X;"]W;W)K&ULK571 M;ILP%/T5BU53*VV!0-)U'4%*TE;KI$I5HVX/TQX*"ST)2F/J\S#4>0D5U0-9@\ G*ZDJ:G"J MUJ&N%=#"@2H>QE%T&E:4B2!+W=JMRE+9&,X$W"JBFZJBZFD&7&XGP3#8+=RQ M=6GL0IBE-5W# LQ]?:MP%G8L!:M :"8%4;":!-/A^7QLZUW!=P9;O336=I_7@P1O]>K)SAR9[62;;#@:?$[#38^' M<>=A_(\>:OJ$G:S?QOCPSE[>P8W>^BK"O>-?@5J[KJ@QZ$88?V2ZU:[Q3EV_ M>;$^PX;L^^=?&M_-\4"LF="$PPHIH\$G-*!\A_03(VO79);28,MRPQ)_*J!L M 3Y?26EV$[M!]YO*_@!02P,$% @ DJ'[5GYQ!TR"! QAP !D !X M;"]W;W)K&ULM9EK<^(V%(;_BL;=Z61G2'SAEJ3 M3(+M;3J;V4S2M!\Z_:!@ 9JU+:\DA^3?5[*-P<$HD)[] K;1^QSIO$+69;1B M_+M8$B+12Q*G8FPMIC#"_( M Y&/V1U7=W9-B6A"4D%9BCB9CZTK]S)T^UI0E/B+DI78ND:Z*4^,?=^D:E!1P1F+1?&)5F79P=!"LUQ(EE1B58.$IN4W?JD2L250 MG':!5PF\MX+>'D&W$G0/C="K!+U#!?U*T#^T2H-*,"AR7R:KR+2/)9Z,.%LA MKDLKFKXH["K4*L$TU3WK07+U*U4Z.?E*E"T"G:*K**+::QRCF[3LL=KY$Y]( M3&/Q615Y?/#1R:?/Z!.B*?ISR7*!TTB,;*GJH6GVK(IY7<;T]L1TT2U+Y5*@ M((U(U*+WS?KN>_K K!\8]+;*7YU$;YW$:\\(_"-/SU#7Z2#/\;HM]9F^(\=: M[NZ5^X=']]JR\?\J'WXX>B.7W;I#=@M>=V^'%(*0#BHZ9@?Y1,PXS8J^^,]7 M51;=2)*(?]MZ70GNM8/U$'TI,CPC8TN-P8+P9V)-?OW%'3B_M5D&"?,A80$D M+ 2"-:SNU5;W3/1R[%&OIY2LU*@C"4_:7#4S7 >]$LS;1J&I47FLA9"PX,-M M"H&JT?"K7_O5-];K)LDPY6I:(3LH9NGB-%:3@@AA]8=53Y8DCD[5B^,T%Z3- M1R/[V'\G),PO88,"IF=BSQ/WHNLW1L>Z!YB3M#&N^L7[' MOM=V(_:\<[<9,=PMM*E3(XD7=1(OC$G\ICJ]2EFZ*//501E^U1V_=2"[V$W* M;N:,\8[MT9"P !(6 L$:IKG.9N7I&&V[I2E-\M8YGUEY[/@$2O-!:0$H+82B M-1W=VDMP?];:K2)#.0Y)\T%I 2@MA*(U'?$;O%,J?5/Z/P M:/\@:<%'&Q5"5:-IU69?Q36NY2>W^&7O< NZ\ _/.<&L6F[;*S-*C'82D!1]O5@A5 MD=(N>^N8)2%\41R("31C>2K+#>[Z:7WH=E4<-;UY?NU>3MV6YX$^I"N.=3;X M\H3O%O,%385:X,Q5*.=LJ!K&RT.S\D:RK#CD>6)2LJ2X7!(<$:X+J-_GC,GU MC0Y0'UU._@-02P,$% @ DJ'[5I#"&.WS @ G0D !D !X;"]W;W)K M&ULK59=;YLP%/TK%JNF3MH*F(^T&4%J/J9M6K6J M:;N':0].<()5L)EMDN[?SS:$)82R:NL+V.:<<^^Y-K:C+>,/(L58@L<\HV)D MI5(60]L6RQ3G2)RQ E/U9<5XCJ3J\K4M"HY18DAY9D/'">T<$6K%D1F[YG'$ M2ID1BJ\Y$&6>(_YKC#.V'5FNM1NX(>M4Z@$[C@JTQG,L[XIKKGIVHY*0'%-! M& 4&V@G"\8>=.=3,K(&SS!6::% M5!H_:TVK":F)^^V=^@?C77E9(($G+/M&$IF.K',+)'B%RDS>L.U'7/L)M-Z2 M9<(\P;;&.A98ED*RO":K#')"JS=ZK.NP1U ZW018$V";X#]!\&J"]]P(?DWP MGQLAJ G&NEUY-X6;(HGBB+,MX!JMU'3#5-^P5;T(U>MD+KGZ2A1/QE^PJK( M[\!<$HIE+HGH& V:-:FNI].L42D4R\49R[^12 NA KR.?R?/IL,O._T6?_7/T@V)XS1+QC)[7OT2^7RZ$ MY.K'_M$UP96$WRVA-[NA*- 2CRRUFPG,-]B*7[]R0^=]5W5?4FSZDF*S%Q([ MF >_F0>_3SW^6F".)*%KD)D_,)FV-@,>VW>,HFROW@,CR?!B MT'+9"7):-NV]\R;'?&T.>J$LE%16^THSVMPE+LT1VAH?N\.)VS$^57>/ZJKP M1[ZZN%PAOB94J**M5"CG;* FA%>7@:HC66%.NP63ZNPTS53=GS#7 /5]Q9C< M=72 YD86_P902P,$% @ DJ'[5F-MZ#O? @ 20@ !D !X;"]W;W)K M&ULK59A3]LP$/TK5H8FD I)DR8%UD:" MHFIE44 MM@]H']STVE@X=F>[+?S[G9V0%1H*2'QI;.?>ZWOGLR^]E51W.@] MW)CYL>_K+(>"Z@,Y!X%OIE(5U.!4S7P]5T G#E1P/PR"Q"\H$U[:-!U\:[@%\,5GIM3*R3L91W=O)MTO<"*P@X9,8R4'PL80"<6R*4 M\;?B].J_M,#U\2/[A?..7L94PT#RWVQB\KYWZ)$)3.F"FRNY^@J5G]CR99)K M]TM656S@D6RAC2PJ,"HHF"B?]+[*PQH@3%X A!4@?"L@J@"1,UHJ<[;.J*%I M3\D5438:V>S Y<:AT0T3=A='1N%;ACB37@+F0)-]X@;D"C@U,"$G6H/1A(H) MN61TS#@S#,-VS\!0QO4> FY&9V1W9X_L$";(=2X7&J-USS>HRG+[6:7@M%00 MOJ#@^T(>"=V,BO'(O* TJ94F6Y5>2T/YVU0F&_O9"9,@>:9R,RJ.XJ-. ML\INK;+[QGRZ\]FJ;Z6'%AF4M= B(X-W5V'+0D[)!1-49 R]#:5FKF7!#J,JL^6L7O6VR/ZB:,:%Q^Z9('AQTL3A4 MV;C*B9%S=_>/I<%.XH8Y]GI0-@#?3Z4TCQ/;3NJOA_0?4$L#!!0 ( )*A M^U9VI;;)7@, -,, 9 >&PO=V]R:W-H965TV@"7!L TM$#1)AWUDI"N;J$1J)!4W_WZ7M*(X MDB(70K_$HL1S^!S*S+U>[X7\IG8 FGRO2JXVSD[K^L)U5;:#BJIS40/')X60 M%=4XE%M7U1)H;D55Z0:>E[@59=Q)U_;>C4S7HM$EXW CB6JJBLJG2RC%?N/X MSO.-+VR[T^:&FZYKNH5;T/?UC<21V[GDK *NF.!$0K%Q?O,9(B@AT\:"XL MPSQ0!5>B_(?E>K=QE@[)H:!-J;^(_9_0!HJ-7R9*9?^2?3O7.'3_J]W8@C@1^](0A:0?"C@K 5V)US#V0VUC75-%U+L2?2S$8W/F-=YJB4\9ZG3Z"7 /%#DCM_@%R9L2B"C(9\99U53$/B0W] G?FU;DGN<@ M2:MX?PV:LE)]0.W][35Y_^X#>4<8)W<[T2C*<[5V-0*:9=RLA;D\P 1OP/S= M\',2>A])X 7AB/QJ6GX-&RUW,#\N,);L8!6-6YG#>*%JFL'&P=.F0#Z"D_[ZBY]XOXWE_$EFKU*'7>IP MRCU]8^\O#ZK$JLP_A\?T;+'"F8_'X)/6,\&C#CPZ!1Z-@1]4\1%X["5]\$GK MF>!Q!QZ? H_'P.,!>.(GRQ[XI/5,\*0#3TZ!)V/@R1 \C.(>^*3U3/!%![XX M!;X8 U\,P>.@O^.3UC/!EQWXF8PWWLII-YDM$^@ MU 5A5=UHR+$0XCL"I4>+H#>(<^;[BU7_A$PO.#?046?@GWY7H_S^@#\*$B_I MX_N#BA&'\2KJIKWF>JG*_F3Y2^^ 4ZX)+;$%I3R#C]A.FH;5-"?8O!1,9?@= M>\+B/0H?# _)PNN?D6F$N5O_4H+]Z1H\C&CB$,%A--*P-(\D^JFEV3WJ.$V[ M_YG*+>,*CW*!]M[Y O=7'CKHPT"+VC:A#T)C2VLO=_BK Z29@,\+(?3SP/2U MW>^8]']02P,$% @ DJ'[5@4\OZ\$ P :0@ !D !X;"]W;W)K&ULK9;=;YLP$,#_%8M-4RMUA9"OJDN0VF33-JU2UJK; MP[0'!R[!JK&9?23M?[\S$)8TE(=J>0C^N*_?'?8QV6KS8%, 9(^95';JI8CY MI>_;.(6,VW.=@Z*=E3891YJ:M6]S SPIE3+IAT$P\C,NE!=-RK6%B2:Z0"D4 M+ RS199Q\W0-4F^G7L_;+=R*=8INP8\F.5_#'>!]OC T\QLKBE>]R]G8R9<"/P1L[=Z8.9*EU@]N\B69>H$+""3$Z"QP>FQ@!E(Z0Q3&G]JF MU[ATBOOCG?5/)3NQ++F%F98_18+IU+OP6 (K7DB\U=O/4/,,G;U82UO^LVTE M.QYX+"XLZJQ6I@@RH:HG?ZSSL*= =MH5PEHA?*[PDH=^K= O0:O(2JPY1QY- MC-XRXZ3)FAN4N2FUB48H5\4[-+0K2 ^CF<0DWJO5 \[PNDW*>R7]OJO2N%84FA5T/E.0"=VPF#+.,!4F M83DWQ&I )>J^<+K4BIC-,EZS;-ERVL8V/8[YH8SN6&PS;V/R]VSP#LRZ; MG NB4%A=[,UJTT>ORO;A_Q.OFO --VOB81)6I!JYT# J M#@ &0 'AL+W=O2 0Z$&DEN[I=K5[5[6Z7>U+DPQ@-;%SMH'VV^_8"2DT:/XS MO[$S&4^V0CZH%8 FCWG&U=19:5U<-W9PR[L03>^]6QA.QUAGC<"N)6NP[2_5J MZHP*\E/F5H MI^-[+9*'BVM,1$IF(L?=H:C-[P6QC\B_A1U>F70S_43>W8"F+%/O<<;OQ"5J M126HB:LQ&"/I)I7CZ])Q\(KC(?DJN%XI\I&GD+;8S[KM_:!#P,4LU*D(=JFX M#CH5/Z]YC_2]#R3P@GY;0-WF-Y"@N6_-@XYP^O7*]*U>_Q6]?];Y'.0?O_E# M[T^Q(/>OYKF4"=ME3!FX5 5-8.K@>ZY ;L")2]4VQC.)'1"'-7'8I1Z76TT1 MK#9*4YXROOQ YK!DG.,EOJT9Y0F0=XQ7N^Y]6SI*'P/KPQ2Q33S ^#QOXF[V M03M#.1%T4(,.C@)=2LHUOGAO$ T:1#Y6Z091I\\3B88UT? H(G@$F3#U-M.P MP73A#\9-J$ZW)T)%-53TZ_L1[/^QFS%J8(91U*1L3GNQ9P_B']7QCSHKR'?[ M#<.UN-J Q&\R^5BM#KF5+($R3\6NQM@"T\8P.F=].9/803[&=3[&YZHOJ<@R M*A7![)3+V[JZI;OHX,7LC5^L;6=,)Q+[WO/GW?OE4G,<7"7L^P=XXUX4O@#L MCN!4PKT&QC^A]!S)Z#<9Q[VP0=@9P:F$P3-A<)8Z="1ST-BU8;^%N3GM8',? MLCPW-7YG!]&L27=@#AL&98;MG,2V?DVS,GE?V ((8KZ2B56)T4R6*"IUXOP$R'+@TDYT**PO?U<:#PIV,L5'N9 F@GX M?"&$W@V,@_IX&/\$4$L#!!0 ( )*A^U:=:=,\$ 4 "0D 9 >&PO M=V]R:W-H965T M,?Y%K"B5Z"%+%[H9B3)G>FXN';-IV.VD6F2TVN.Q";+"'^B\ZLP=$73.TC^2 MA5Q-G L'+>@]V:3RANU^I%6'!IH7LU04_]&N:NLY*-X(R;+*6#U!EN3E)WFH M M$R4!RS05 9!,\-^@<,>I5![[G!\(!!OS+HO];#H#(HNNZ6?2\"AXDDTS%G M.\1U:T73!T7T"VL5KR37 ^56BM9_.5LID*]0'.6J?$G2)'!,_0+ MX9SH-*(33"5)4O%!7?U\B]')MQ_&KE3>-<.-*T^STE-PP%,/?6*Y7 D4Y0NZ M,-ACNWUHL7=5K^NN!T]=GP56X$^;_!SUO%,4>$'/\#SSUYL'IN[\/^_1F[UW M@M&KQT&OX/4.C8,5X?3L;G\<7*E!D"^IJ@T2W3VB=KMK\EAP00'34]UVZJN9 MS_/&[K8=:R"?G5@/ZE@/K+$N"V?Y(L3M%X8^Z&-J"GA)#-O=\H;#8*]C\_V& MHU'H[[7#^^V"?C@<[$?*X'G8&X[:#3M1".LHA-8HW%"]&$GR)1(OQ .I10W: MY%LJ],ADY4@]13F3Z%&MASB-V3)/_C'.#+-P;SP4G=R+F_5ACQV$X5[,C$XC M(*>=^ _K^ ^M\9^G1 ATI2.>J5@723 %T$HY]E6'A&%(6 0$ZZ3BHD[%Q3O/ MH!>0282$84A8! 3K)'%4)W$$.8-:8<=F!!*&1Z^;0?>;'9@0?*\1%-[+$R.J M FF4"5;[8Z,&2L.@M B*ULU$2]KY[UR1J@> 2B4D#8/2(BA:-Y5!D\H ?+59 M(=L+F+YIT61H]WR=:6@2FI9"5E2WZXTP]:V2Z<6NGZ)=\6V0NDVVE),E?5I, M%JW6E"?,N*BT^SUZ\()*TA=BTE=K9L(%"E%6?"=B'+%?0XGZC13U[5JT,PV@ M?]%OJN3$*XI8;AZLH&(4E(9!:1$4K9N71K;Z@_>>%*S"^>A40M(P*"V"HG53 MV6AOWRZ^RW1H1:T%.-=%4"EJ5?!BE2Q5!XW)@93(Z_MP+W024X* V#TB(H M6C>5C0SW[3K\3:4-5(V#TG!%>T5I W+;_46L$>_!$>*]7=I6G!J#;N<=&W10 M&@:E15"T;F8:,1^\MY@/0,4\* V#TB(H6C>5C9@/[&+^+<7-CCPZ.9 T7-%> M+FY0;LNXNZU=#QGERV*[B4 QV^2R_.&[OEIO:;DJ-G(\NS[S+^>^X3KV+Z-R MPTJ#+_?/?")\F:@"F=)[Y6)9.MBS\4=DY)EQ>&*D@7ENH&Z M?\^8?#K1#NJ-0=/_ %!+ P04 " "2H?M6 \.^V=L" B!P &0 'AL M+W=OYCV8)(#+)(XLPV4?[^S#1G=TF@OB<^^^[[OSO9YM!=RH]:(&I[R MK%!C;ZUU>>7[*EECSE1;E%C0RE+(G&DRYH'\N9),NO4%*> M8Z&X*$#B#Y^(3^P>9.N2R8PFN1?>>I7H^]H0MP%A#V7P@(CP&AU>V(K,H;IED\ MDF(/TG@3FAG85&TTB>.%V92YEK3**4[':5P+7+::\5LN5HP4;13 MI3$47-R@9CQ3ES1O0^"K6QGYFE08+#\Y,DX=8_@"8P3WHM!K!;=%BNGS>)_4 M5RF$IQ2F82/@YVW1AF[P%L(@[,)K\$&MF435 -VMJM.UT-V7JF. 6HM_JS.1 MDA4KI-.I87& <[\9.]CIR9[)%'Y\(4BXTYBKGW6UGYS(Z]4R1(<>W3E M%,H=>O&;5YTH>-^07:_*KM>$'G^D'#2D3",L&9>P8]D6X8(7\#B_@1*E*^1E MG6Z'/+#(YN+OXFC0#KLC?UN!JTUI*1."%1DI8@R1U=?P.J!.> M"0C:02^(ZA5$E8*H4<'M4TGM@G:1Z'-;B@,RJ6I+T(P4N4CH="!WY[U#I3XT M;-N@TCCX/XT[D=%IS+@^U,ES()W@685ZO?KZ#"ONX?]QIWS'4RQ2.'#,TCK^ M80W_7^3^6=_*4:YL=U:0B&VA70NK9JL'8.+ZWA]W]WK<,[GBU*@R7%)HT![0 M 9&N(SM#B])VP870U%/M<$V/&$KC0.M+(?3), 35LQC_!E!+ P04 " "2 MH?M64OS:DT\# @"P &0 'AL+W=O.WSGFVRX>) Y@$(_RH+)J9J&;SY"[=# Z$MY(>T3;>J]@8?22BI>UL*:H*3, MO+IP]E,^Y6A2U[JGRV)#=<9N@&I!$V5_F)WH3M&E407)HY4_40OWX(B MM)"O#N^5.1$@$67H:\XK25@F)[[2V,:XG]:(,X>(#R#&Z(HSE4OTCF60/9;W MM;N-SWCK\PQW*OQW+&U_FN0 MO49S6%+&*%OJ UX0E@)ZJ7^9B\8K]*LU+H[?61A8"Z8 K),PC/'$7[=P#1JN M02?7!T&8.4C',@R>,,11T(X0-PAQ)\*]#$ULEW3XH*W'"U34B;C6VLX_^0C&&P*\3!/Z5CQHN""(FT M'R[>)O"[XM5:5YW%X>/T[(U&[?$/]RZ-\.@4/86KOI/"?3",>]'P !C>@>%C M$_<4+MS"I0,6'@K8[CX(.ROY']E\"EK4AC;HX4-HNUL@//8::$GQ4TC[+8=N MW!OU_P#U]YJ6$L32MF82I;QBRO4OS6K3_EVXIF>WW?6.5T3HC)&H@(46#7I# M76^$:\?<1/&5;8'F7.F&R@YSW<*",!OT]P7G:CLQ!IJF./D-4$L#!!0 ( M )*A^U:&PO=V]R:W-H965T+/9"L9E8&%MR)3J> M%/WQI639-"V:LM)WQC>)/\CG4#R'A]1K4;I2*_>4ZS623DV^REF\\S'HW+2K-IU^WU^MU9%">=Z\ORL[OL M^C)=B&F<\+N,Y(O9+,K>;ODT75YUG,[Z@_OX92**#[K7E_/HA3]P\3B_R^2[ M[H8RCF<\R>,T(1E_ONK<.!=7M$B M/N4C42 B^>^5#_ET6I!D._ZHH)V-S:+B]NLUG94'+P_F*UUR&B1BW16598MF,7)ZG_TM>J( MK0J28Z[@5A75<';J>#NL^!7%?Q#+015A>#0"OVJ0K_L^U5GE3T= M1B*ZOLS2)''AY!\^/$C MR2=1QG,2)^372;K(HV2772$;7ICOCJI&WJX:Z>YII$<^IXF8Y(0F M8SXVU _M]?N6^EW989M><]>]=NM:@?]9)*?$ZYT0M^=ZAO8,#Z_NF@[GGUFG M_\PZLU33B5QV9FW.>O?+.]4\_ M./W>OTR>1<)")(PB80P$TR+"WT2$;Z-7.6GEZ=%V1/"OQ6MN\O&*V"^)Q6SZ M>NWT!@,9GZ_;SJN7.C_O.WJAL%[(]?N#0"]%#08'WN!<+\6L!_K.;@PVW1A8 MN_%SG,2SQK-+F/"M/-9(1)S->K-U,GEYQG=Y6YNKM MI$FKZ;;^:[9'D?88"*9YY6SCE3.K5^X?'G,BU[CD3KXP=;ZU>MMAAH2%2!A% MPA@(ICGT?./0\R,GWG-D1"!A(1)&D3 &@FD1X?34&7,/OCRMD/KZU._M)MZJ M6* 5"W:+A0::ZSN[Q:B)=N;M%F/VPWUO=VX)$,[[NG,4S6,13>,_Y1=R7B-Y M^BSDD.)DS%_Y-)T7@\S8UT[ML-UZ3SNU+AS4^[E.JOF,&DA.S1ZS=\)[.]E5 MG>S:)R9>J(QQ\D+RAN@MNWJ1O/*\6%*LY)P3DJ2"O'%!,CY*7Y+")<:>=PU= MT3=TOK6Q;?/4@58IU"I#T72'*M'$L9Z!-R:A$[(L157Y=?3*L^B%KWU7EI)+ MQ3@U^Q"JED!I84.?N#)$HRPG9V2VDOL3.7)IW2^FBO^6,3BC<2)3!^+ MHDPYTZ_G_@]Q4LW_'XV1T:^O+FMKT*&]G:T]?HA-"K7)4#3=DTKG<>Q"SV_2 M&<6ZS3)C(^63(906-ARG= M$W:Z$+F0R:.8)!JF;+OR0TQ2J$F&HNF>5'J6:]>S]DG_]FIM M!R:4%D)I%$IC*)KN3J6Z1,[:+U*6&4%H(I5$HC:%H>F H!J6VW !$X_R1;;*L)91!E6HH+2PX0!MHPRJ1J%HNB.5&N7:U:AB243^ M(K_*"7,TX21-C+^1VB&M'0D5GJ T"J4Q%$UWKA*HW,&Q%TA0@0M*"Z$T"J4Q M%$T/#"5ZN7;1Z_N%4IZ\WI'SMX>4=X906@BE42B-H6AZ8"@ARVNX,.M[ MY&^O?HE5/7_;&]K:Y0>8I%"3#$73/:DT+,]^]5>5OZL-(781:&]RWK/,MN-:CT&HW@6E42B-H6BZFY4&YAU["Y\' MU<^@M!!*HU :0]'TP%#ZF?>M=O)YAJUUNS]!V(VW=F.S10JUR% TW3E*P_+L M&M;^Y#S)N'GM#+TP"TH+H30*I3$437>TDKB\8U^8Y4'E,2@MA-(HE,90-/U6 M%$H>\^T79FVEYU&43\A3FBSRM1Z2RS-H$A=[:J)IE;WSDR)[C_;L3;,;:QL$ M4%I8T:PK;ZA%AJ+IKE4"E]]\I5:1W*.O^^Z380>T=A=4QH+2*)3&4#3=L4KO M\H]]S98/5F HALPHQ1JE*%HNHN45N4W:%7[4O0> MK=J.:ST2H5H6E$:A-(:BZ6Y6JI=_=NP4#57)H+002J-0&D/1],!0*IG?<"'8 M^U/TN2E;!KL9&JIJ'6230FTR%$V_XZ=2JX(&M6IO@MZG5]N!;4O5I?S>_0XTR%$WWKA*P KN ];B^.F!LWNA^SOKZ'ZK=;NM1#%6J M&OK$Z:UOA.KZ>V^$"FT10]%64=#=>J[5C,NSE>()9+GT[R(1JP<,;3[=/.7L MIGRVU\[GM\[%T#%\'CH7=/4,,X5?/5+MLSPYDM,IF?)G::IW.I"31[9Z2MGJ MC4CGY5.UGE(ATEGY%@_.]_9'JT9?Q$9@$2O!:%B[&12EE>N*Y(,"BQZK 2J9A:,%UBJ M+E^ZHN2 4R-4$#?PO,@M<$Z=>&3&[GD\8I4D.85[CD15%)C_F@)AZ['C.YN! MAWR923W@QJ,2+V$&\K&\YZKG-EK2O JKE3;=,*X::0674[TK,\G5;*[D M9#R3+'DYGRJ_4G3-"K79 IMPG:,'$)+GB50S9A6:K#%/!3JY 8ES(DX[UH@, M"]^K8@[\PSL_\CZR!9JU MZ+6@5LU%NQI=BE>BQ F,'55K O@*G-AJ[8"\:" ONK3'CW2EM@W2,S2'94YI M3I#(Q.=A^],;^^1Z 00,P.'!;@*;'[,G@T) ,&Z)A9S8_FS-- M!66R J[.:&0VR>:A.FT W>*\3O8G3"JPS7)3 ";[VT"'_R'Y+QN?+O\I^5-& M".8"*2]LJ'7,MT=%FSO6X& G[I=1+PS;8^][VY/9.[@BCJ"JM?O^#I??]WO# M?6 [5X9_:*4J*5[#%"HZOGV- @S?[VAH_=^?V+8 OS1M#H(155-J+ MN!EMWC$3>WMOE]M'T!WF*B<%(K!0HEYOH(J9VW>%[4A6FKM\SJ1Z&9AFIMYB MP/4"-;]@3&XZVD#SNHO_ %!+ P04 " "2H?M6EX5BK- " C"0 &0 M 'AL+W=O4;@EB%>%05F/R>0T]78L(V-X2Y;I$(9S&!4X@7<@W@L;YG< MF2U+G!5 >$8)8I",C2M[.!LH?^WP)8,5WUHCI61.Z9/:7,=CPU()00Z14 Q8 M/I8PA3Q71#*-'PVGT894P.WUAOVCUBZUS#&'*O"A5C@8,3H"C'E+=G40E=?HV6],J*^DWO!Y-M, MXD1P32): 'K :^"H%X+ 645AR3F(],(8,JJ!DU M 29U .>% "ZZH42D',U(#'$'/CR,]P_@32FV5>QL%$^<@X2?*])'KG6&',MQ M._*9OA[N=,GYO^BS?XZ^4PRW;;^K^=P_MA^%&8]RRBL&Z-O5G LF_\/?N_I= M,WK=C.I<&_(21S VY,'%@2W!"-Z]L7WK0U>QCTD6'I-L=B2RG;9X;5N\0^R; MM@C9%EC+D< !]>9 (,G$:5=+:C9?LZG)L SL2]_S1^9RN];/O1QWSR?L\+GT MK8M=K]ESKW/OLO79D3QH)0\.2IXE">BA(<^;5CS# LY0"2P"(KJ$UYRVM9VO MWW?W\IT>#/VW7]EA'3W;L?N6];:K3[,CY5$7V-PZ]0M@"SUN.8IH141] K36 M=J)?Z4&V9Y_8PZG=80_E#: >V+_IZ^O##6:+C'"40R)#6?T+*8S5([G>"%KJ MF3.G0DXPO4SE+0:8BX!=02P,$% @ DJ'[5@A,MWC& M P !10 !D !X;"]W;W)K&ULM5A=;Z0V%/TK M%EU5NU(;,-^3SB E ZNFZJI1LKM]J/K@#)X!+>"I;6:V_[XV, 08!R6-\S*# MS3GG&=&RF;NET9+4O,@K?$L!J\L2T7^O<4&.*P,:IXF[ M?)=Q.6%&RSW:X7O,O^QOJ1B9O4J:E[AB.:D Q=N5<04O$^A(0H/XFN,C&UP# MZ'U2_]@X+YQY M0 RO2?%GGO)L980&2/$6U06_(\=?<>>0)_4VI&#-+SBV6-\SP*9FG)0=63Q! MF5?M/_K>!6) @$\1[(Y@3PGN$P2G(SC/M>!V!/>Y%KR.T+ANMKXW@8L11]&2 MDB.@$BW4Y$43_88MXI57Z\ MSGKROZV/@N'TZ\%I])PG].*ZKIJ M75GO+MD>;?#*$ 6-87K 1O3C#]"W?E&%7*=8K%,LT20V2H[;)\>=4X\^$XX* M49Z;A*ART-+]ABX_$8<(NH$5>$OS,(RN @8#U[/&L/@<9H<.G*HE"IAM!Z[? MPT:^>KVOWJRO:T(Q8*2HY3I4EIE9_DL7G$ZQ6*=8HDELE 2_3X+_1M7 UYD< MG6*Q3K%$D]@H.4&?G.!UU:"E>X,7TPD]."T&"I3M0G=2"\Y1@>>'$U1RCO(= M6W[65)4@[/T,9_W\B@JQX*Y2\;4']R*&^08KZ\&LRDN7G$ZQ6*=8HDELE(I% MGXK%&]6#A<[DZ!2+=8HEFL1&R8'6XU[>>EU%Z/C#%Q1:OA5.:X("%\+S#8(" M)K:A"WN"2U1F/7LQT!L[/#B\P%F'FQ.+TM%9WDO7FU:U6*M:HDMMG '[,0/V M&U6$3EA7BG2JQ5K5$EUJXQ0]GNC@[)GD&57!.=_!NV>'!@7*\4)_6A+.4:X7 MP&E!.$?Y7C#=)YB#MD:)Z:[I)S&P(77%VQ-M/]OWK*Z:3LUD_AI>KJ%B/I8] MKJ:-\BC?-L@^(;K+*P8*O!6FK(M U"[:]IS: 2?[IJGR0#@G97.9891B*@'B M_I80?AI( WWG+_H/4$L#!!0 ( )*A^U:&7$N*EP, '<. 9 >&PO M=V]R:W-H965T)V_3#T R.=9*(2Z9*TG>W7[TC)BA0K:MQJ7RR^/0_OGJ./O-E.R*]J M!:#)0YYQ-7=66J^GKJNB%>14G8DU<)Q)A,RIQJY,7;660&,+RC,W\+RQFU/& MG<7,CMW*Q4QL=,8XW$JB-GE.Y3]7D(G=W/&=_< =2U?:#+B+V9JFL 3]:7TK ML>=6+#'+@2LF.)&0S)U+?QKZG@'8%7\QV*E:FQA7[H7X:CHW\=SQC$600:0- M!<7/%JXARPP3VO&M)'6J/0VPWMZS_V:=1V?NJ8)KD7UFL5[-G7.'Q)#03:;O MQ.YW*!T:&;Y(9,K^DEVYUG-(M%%:Y"48+<@9+[[TH12B!D">=D!0 H*G@.$S M@$$)&+P4,"P!0ZM,X8K5(:2:+F92[(@TJY'--*R8%HWN,V[BOM029QGB].(. MML W0"B/R0>] DEN>'&:3%1.R64<,].D66/B30B:LDR]Q26?EB%Y\_HM>4T8 M)Q]78J.03,U:93=RH-.6J,"5XQI0Q>2^X7BGRCL<0-_$NNE7Y%NQ]NPHZ M"?_8\#,R\$Y(X 6#%GNN7PX/6N!A-SR$".%^&[SAS:"*U,#R#9[C8XJFJ82T MB(!(R#YV?_^)2\F-AEQ]:9.]X!VV\YK$,E5K&L'>PBQWCDX"4$&/VLC*V*5][WLS=UA7IW.98 M10YWO*AMV'!T5#DZZG1T?TPD1"+E[%]T.9$B-]GQNP(4S*.:.9,#_T<')@<' M(H6=)OY@I,>5 ./O"& N0,93L@9I_>PQKL;C\]'EIMUF)"6.*42 M&A4+EII*3?!6P@QU^<#4EZE-Q*?>Y-3SV[3N-.W8/-4G6=@362,DYU5(SO^G MO'_>IYY]DH4]D37TO*CTO/C);(#C$7"-S]XV50MV?.D^I@3O;/0D(72:<*Q: M/9$UU/*]QP>B]Y-ZP3X3Z"H3J$8F0" 3<>N+L'MO/R"Y?1.VGVS?-&Z'I5D+=KM@S 2K7,AR1!;&%!_"L)PM6$[+"U4P:9%,Z9P: MV]7SL"PTHVD)I%R$O4XG#G/*)1D/Y3*_SDT9S-12FA&)FU#@;I_3$>G&[TG@ MY"8J92-R?_;VQU*9JS>!NY^\.SGIW)]?[%2/GHX*[K09'5.CF72E>Y70;W M/:V'[P&;'ACD0C0&>\0%QL."&L.TO+:=:G 5? (%=?MN75B'-HRZ865G3(A; M> *_9SO:JZRU;QW8-=DTK:&ZZ612:2K:IFWM'_(JO]IQ=/FO+%>_ M5?8->SW6K]5#-]D_!I/Q,9@\BIH<'+[)*#E\C_71[>!,AO4AHW62V3G'--$ MSHLC\@U.GV*;-)@NN3!KP-L3Y^K$&RF M>"5B,\77&A#_N@$C2?R[C>4!!K8+6.U ?G\>J"D_)XI@5S%OV!.,(TF"(5"+ M_AJ-8V1U8OCX]P=[2J(H2?P(8'X'480A\#3B".8 /&!(%%7OP;WW4;AY3X7; M_]V-?P%02P,$% @ DJ'[5I>*NQS $P( L !?3T\ M$MP>:4#M.*2VBZD8_1!2:5K5N %(MB6/:(7->=I3W;+T]!;X"O.DQQ0FE(2S,.\,W2?S+W\PPU1>5* M(Y5;&GC3Y?YVX$G1H2)8%II%R=.B':5_'LK:MEP%6W&?N= UGY+4"H]3B=3*;C6BHS>O?V<*ZE M&\^61.D7I7.:CT;)?V.+^""*G_8O&HA;^6=[[8$>7'"_U@3[4>D ;BX#_.ULLU-FTYX&[V(4P%QD,E<,E;K2KDJ,25U-*4("+(E(!,3P*Y:G'PKQ%D1D!F M)X3\FD:0.0&9LT/^&+_@A5TC=;V+( L"LCAE)+,(0YP3D.2_D MM0R-@_;I7C5>&? ^XGI-<+WFY5HU=2W=4PNV4ANC\&_2!'%9EK8Q0460;PC( M-[R0"[,'']J#Q K*QJF@P MI*O%1*A=WC,P9I0O$F9AW&"_81KH M'NKGL,54=6'Z$[T('"6/A-D>2_DD]EXLP75_;_/4N?*EMAYE%T-2\DC8[>%5 MA?&[=;+"IB$NGLI".;.%B/QR#D'&F)2%\E/5S_KG M'F-2%LI_2Q7M^5VT1NHC!8Z3LE#^>\8^PVC^VTY'-S6BQYB4A7)N"U$UU<$@(Z,25DHYQX+'<>\EL[%$YV4A0KN"MQQ3&Q&L=,+RD(%=P7N..8- MYLLQ)F6A@ME").; Z05EH8+90C1FG+T7E(4*]K'0]_F)/MM0>E Z*LAO!)CE M0]9DAL^:DD_!+!^Z='068U+R*3KYC _?)U6P5@:J:[R$Q^VEU.72B?:GGTG- MBW;N8]UH_1ZW?3:?K*P.GSL=/M5Z]Q]02P,$% @ DJ'[5O,@BWGI 0 M$B( !H !X;"]?Z)0A&.14&#YE36V/+U7WVRQIZ_I%U; MMMTA;[9]GASWNT->-)M2^H<0\G*3]FV^Z?IT.%]9=<.^+>?EL Y]NWQOURGH M=#H+P\\9S>/\Y\S)ZZE/?YG8K5;;97KJEA_[="B_# Z?W?">-RF59O+:#NM4 M%DTX[JZG<[@BN!WHIZ*X'>.GK9)M!;46\E MT%M1;R706U%O)=!;46\ET%M1;R706U%O)=!;46\ET-M0;R/0VU!O(]#;4&\C MT-M&FR4$>AOJ;01Z&^IM!'H;ZFT$>AOJ;01Z&^IM!'H;ZFT$>COJ[01Z.^KM M!'H[ZNT$>COJ[01Z^VBSFT!O1[V=0&]'O9U ;T>]G4!O1[V=0&]'O9U [XAZ M1P*](^H="?2.J'$?6.!'I'U#O^I]ZYG'8I M7WN^U_C\_Z2ZG.]-U\=?EM\G1^Q<< [P"\CC%U!+ P04 " "2H?M6LFA) MV-4! "_(0 $P %M#;VYT96YT7U1Y<&5S72YX;6S-VEU/@S 4!N"_LG!K M1M>O^1'GC7JK7O@'*IP-,J!-V\WY[RU,331*7&;B>P.!MN<]M,ESQ>7CBZ,P MV;5-%Q99%:.[8"P4%;4FY-91ET:6UK_8LX4:[,B)F:S.2ML%ZF+T]C7 MR*XN;VAI-DV[ M7-8%E;;8M&E)'IPG4X:**+9-OB]Z,IXNI!.S-/A M<>]'TJ^>NE2(?*S'/_$C,94^^ONH/^V2RE]FI^U]MGX]G$=@P^WX/?Y\QA_U M#^Q#@/0A0?I0('UHD#[F('V<@O1Q!M+'.4@??(;2"(JH'(54CF(J1T&5HZC* M45CE**YR%%@YBJP"15:!(JM D56@R"I09!4HL@H4606*K )%5H$BJT215:+( M*E%DE2BR2A19)8JL$D56B2*K1)%5HLBJ4&15*+(J%%D5BJP*15:%(JM"D56A MR*I09%4HLFH4636*K!I%5HTBJT:15:/(JE%DU?\IZY.UZ[_^I:"_YZVIN_=\ M-ORWT M K @ $0 @ &O 9&]C4')O<',O8V]R92YX;6Q02P$" M% ,4 " "2H?M6F5R<(Q & "<)P $P @ '+ 0 >&PO M=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0 ( )*A^U;G3+5P. 8 *XC 8 M " @0P( !X;"]W;W)K&PO M=V]R:W-H965T&UL4$L! A0#% @ DJ'[5IXX:+SM!@ M4QT !@ ("!+14 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ DJ'[5BX))=^P#0 SY< !@ M ("!X2, 'AL+W=O00H# ">!@ & M @(&E.0 >&PO=V]R:W-H965T&UL4$L! A0#% M @ DJ'[5BAF*M:(" I!4 !@ ("!Y3P 'AL+W=O&UL4$L! M A0#% @ DJ'[5E7G<=M[ P P0D !D ("!O4P 'AL M+W=O&PO=V]R:W-H965TJM5) , /0& 9 " M@>-4 !X;"]W;W)K&UL4$L! A0#% @ DJ'[ M5B3A%D#,!0 H X !D ("!/E@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ DJ'[5O6B@@Y-! B0D M !D ("!KFP 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ DJ'[5N*TB/IK! K!$ !D M ("!H'@ 'AL+W=O&PO=V]R:W-H965T M% !X;"]W;W)K&UL4$L! A0# M% @ DJ'[5M;2'4?)!0 /1( !D ("!4H@ 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ DJ'[5B20 MQB*F @ W04 !D ("!!I8 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ DJ'[5ER7 !3U @ 708 !D M ("!W*$ 'AL+W=O&PO M=V]R:W-H965TH !X;"]W;W)K&UL4$L! A0#% @ DJ'[5K6'5&PO=V]R:W-H965T:R !X;"]W;W)K&UL4$L! A0#% M @ DJ'[5A$'9D(:!P VD$ !D ("!;;< 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ DJ'[5KA-)=?E @ X@D !D M ("!I]( 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ DJ'[5GYQ!TR"! QAP !D ("!;ML M 'AL+W=O&UL4$L! A0#% @ MDJ'[5G:EMLE> P TPP !D ("!9^8 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ DJ'[5IUITSP0!0 M)"0 !D ("!"_$ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ DJ'[5IR=\U7Y"0 -VX !D M ("!ZOP 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ DJ'[5@A,MWC& P !10 !D ("!9@T! 'AL M+W=O&PO=V]R:W-H965T*NQS $P( M L ( !D1@! %]R96QS+RYR96QS4$L! A0#% @ DJ'[ M5IP+M*&AD! 'AL+W=O M 0!X;"]?7!E&UL4$L%!@ !! $$ OA$ &HB 0 $! end XML 69 Show.js IDEA: XBRL DOCUMENT // Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission. Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105. var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0); e.removeAttribute('id');a.parentNode.appendChild(e)}} if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'} e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}} XML 70 report.css IDEA: XBRL DOCUMENT /* Updated 2009-11-04 */ /* v2.2.0.24 */ /* DefRef Styles */ ..report table.authRefData{ background-color: #def; border: 2px solid #2F4497; font-size: 1em; position: absolute; } ..report table.authRefData a { display: block; font-weight: bold; } ..report table.authRefData p { margin-top: 0px; } ..report table.authRefData .hide { background-color: #2F4497; padding: 1px 3px 0px 0px; text-align: right; } ..report table.authRefData .hide a:hover { background-color: #2F4497; } ..report table.authRefData .body { height: 150px; overflow: auto; width: 400px; } ..report table.authRefData table{ font-size: 1em; } /* Report Styles */ ..pl a, .pl a:visited { color: black; text-decoration: none; } /* table */ ..report { background-color: white; border: 2px solid #acf; clear: both; color: black; font: normal 8pt Helvetica, Arial, san-serif; margin-bottom: 2em; } ..report hr { border: 1px solid #acf; } /* Top labels */ ..report th { background-color: #acf; color: black; font-weight: bold; text-align: center; } ..report th.void { background-color: transparent; color: #000000; font: bold 10pt Helvetica, Arial, san-serif; text-align: left; } ..report .pl { text-align: left; vertical-align: top; white-space: normal; width: 200px; white-space: normal; /* word-wrap: break-word; */ } ..report td.pl a.a { cursor: pointer; display: block; width: 200px; overflow: hidden; } ..report td.pl div.a { width: 200px; } ..report td.pl a:hover { background-color: #ffc; } /* Header rows... */ ..report tr.rh { background-color: #acf; color: black; font-weight: bold; } /* Calendars... */ ..report .rc { background-color: #f0f0f0; } /* Even rows... */ ..report .re, .report .reu { background-color: #def; } ..report .reu td { border-bottom: 1px solid black; } /* Odd rows... */ ..report .ro, .report .rou { background-color: white; } ..report .rou td { border-bottom: 1px solid black; } ..report .rou table td, .report .reu table td { border-bottom: 0px solid black; } /* styles for footnote marker */ ..report .fn { white-space: nowrap; } /* styles for numeric types */ ..report .num, .report .nump { text-align: right; white-space: nowrap; } ..report .nump { padding-left: 2em; } ..report .nump { padding: 0px 0.4em 0px 2em; } /* styles for text types */ ..report .text { text-align: left; white-space: normal; } ..report .text .big { margin-bottom: 1em; width: 17em; } ..report .text .more { display: none; } ..report .text .note { font-style: italic; font-weight: bold; } ..report .text .small { width: 10em; } ..report sup { font-style: italic; } ..report .outerFootnotes { font-size: 1em; } XML 71 FilingSummary.xml IDEA: XBRL DOCUMENT 3.23.2 html 225 264 1 true 46 0 false 4 false false R1.htm 0000001 - Document - Cover Page Sheet http://www.appfolio.com/role/CoverPage Cover Page Cover 1 false false R2.htm 0000002 - Statement - Condensed Consolidated Balance Sheets Sheet http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets Condensed Consolidated Balance Sheets Statements 2 false false R3.htm 0000003 - Statement - Condensed Consolidated Statements of Operations Sheet http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations Condensed Consolidated Statements of Operations Statements 3 false false R4.htm 0000004 - Statement - Condensed Consolidated Statements of Operations (Parenthetical) Sheet http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsParenthetical Condensed Consolidated Statements of Operations (Parenthetical) Statements 4 false false R5.htm 0000005 - Statement - Consolidated Statements of Comprehensive Loss Sheet http://www.appfolio.com/role/ConsolidatedStatementsofComprehensiveLoss Consolidated Statements of Comprehensive Loss Statements 5 false false R6.htm 0000006 - Statement - Condensed Consolidated Statements of Stockholders' Equity Sheet http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity Condensed Consolidated Statements of Stockholders' Equity Statements 6 false false R7.htm 0000007 - Statement - Condensed Consolidated Statements of Cash Flows Sheet http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows Condensed Consolidated Statements of Cash Flows Statements 7 false false R8.htm 0000008 - Disclosure - Nature of Business Sheet http://www.appfolio.com/role/NatureofBusiness Nature of Business Notes 8 false false R9.htm 0000009 - Disclosure - Summary of Significant Accounting Policies Sheet http://www.appfolio.com/role/SummaryofSignificantAccountingPolicies Summary of Significant Accounting Policies Notes 9 false false R10.htm 0000010 - Disclosure - Investment Securities and Fair Value Measurements Sheet http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurements Investment Securities and Fair Value Measurements Notes 10 false false R11.htm 0000011 - Disclosure - Capitalized Software Development Costs, net Sheet http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnet Capitalized Software Development Costs, net Notes 11 false false R12.htm 0000012 - Disclosure - Intangible Assets, net Sheet http://www.appfolio.com/role/IntangibleAssetsnet Intangible Assets, net Notes 12 false false R13.htm 0000013 - Disclosure - Accrued Employee Expenses Sheet http://www.appfolio.com/role/AccruedEmployeeExpenses Accrued Employee Expenses Notes 13 false false R14.htm 0000014 - Disclosure - Leases Sheet http://www.appfolio.com/role/Leases Leases Notes 14 false false R15.htm 0000015 - Disclosure - Commitments and Contingencies Sheet http://www.appfolio.com/role/CommitmentsandContingencies Commitments and Contingencies Notes 15 false false R16.htm 0000016 - Disclosure - Stock-Based Compensation Sheet http://www.appfolio.com/role/StockBasedCompensation Stock-Based Compensation Notes 16 false false R17.htm 0000017 - Disclosure - Income Taxes Sheet http://www.appfolio.com/role/IncomeTaxes Income Taxes Notes 17 false false R18.htm 0000018 - Disclosure - Revenue and Other Information Sheet http://www.appfolio.com/role/RevenueandOtherInformation Revenue and Other Information Notes 18 false false R19.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Notes 19 false false R20.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Notes 20 false false R21.htm 9954701 - Disclosure - Summary of Significant Accounting Policies (Policies) Sheet http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies Summary of Significant Accounting Policies (Policies) Policies http://www.appfolio.com/role/SummaryofSignificantAccountingPolicies 21 false false R22.htm 9954702 - Disclosure - Summary of Significant Accounting Policies (Tables) Sheet http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesTables Summary of Significant Accounting Policies (Tables) Tables http://www.appfolio.com/role/SummaryofSignificantAccountingPolicies 22 false false R23.htm 9954703 - Disclosure - Investment Securities and Fair Value Measurements (Tables) Sheet http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables Investment Securities and Fair Value Measurements (Tables) Tables http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurements 23 false false R24.htm 9954704 - Disclosure - Capitalized Software Development Costs, net (Tables) Sheet http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetTables Capitalized Software Development Costs, net (Tables) Tables http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnet 24 false false R25.htm 9954705 - Disclosure - Intangible Assets, net (Tables) Sheet http://www.appfolio.com/role/IntangibleAssetsnetTables Intangible Assets, net (Tables) Tables http://www.appfolio.com/role/IntangibleAssetsnet 25 false false R26.htm 9954706 - Disclosure - Accrued Employee Expenses (Tables) Sheet http://www.appfolio.com/role/AccruedEmployeeExpensesTables Accrued Employee Expenses (Tables) Tables http://www.appfolio.com/role/AccruedEmployeeExpenses 26 false false R27.htm 9954707 - Disclosure - Leases (Tables) Sheet http://www.appfolio.com/role/LeasesTables Leases (Tables) Tables http://www.appfolio.com/role/Leases 27 false false R28.htm 9954708 - Disclosure - Stock-Based Compensation (Tables) Sheet http://www.appfolio.com/role/StockBasedCompensationTables Stock-Based Compensation (Tables) Tables http://www.appfolio.com/role/StockBasedCompensation 28 false false R29.htm 9954709 - Disclosure - Revenue and Other Information (Tables) Sheet http://www.appfolio.com/role/RevenueandOtherInformationTables Revenue and Other Information (Tables) Tables http://www.appfolio.com/role/RevenueandOtherInformation 29 false false R30.htm 9954710 - Disclosure - Summary of Significant Accounting Policies - Schedule of Net Income per Share (Details) Sheet http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesScheduleofNetIncomeperShareDetails Summary of Significant Accounting Policies - Schedule of Net Income per Share (Details) Details 30 false false R31.htm 9954711 - Disclosure - Investment Securities and Fair Value Measurements - Schedule of Available-for-sale Securities (Details) Sheet http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails Investment Securities and Fair Value Measurements - Schedule of Available-for-sale Securities (Details) Details 31 false false R32.htm 9954712 - Disclosure - Investment Securities and Fair Value Measurements - Additional Information (Details) Sheet http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAdditionalInformationDetails Investment Securities and Fair Value Measurements - Additional Information (Details) Details 32 false false R33.htm 9954713 - Disclosure - Investment Securities and Fair Value Measurements - Available-for-sale Investments, by Remaining Contract Maturity (Details) Sheet http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails Investment Securities and Fair Value Measurements - Available-for-sale Investments, by Remaining Contract Maturity (Details) Details 33 false false R34.htm 9954714 - Disclosure - Investment Securities and Fair Value Measurements - Schedule of Sales, Calls and Maturities (Details) Sheet http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails Investment Securities and Fair Value Measurements - Schedule of Sales, Calls and Maturities (Details) Details 34 false false R35.htm 9954715 - Disclosure - Investment Securities and Fair Value Measurements - Fair Value, Assets Measured on Recurring Basis (Details) Sheet http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails Investment Securities and Fair Value Measurements - Fair Value, Assets Measured on Recurring Basis (Details) Details 35 false false R36.htm 9954716 - Disclosure - Capitalized Software Development Costs, net - Capitalized Computer Software (Details) Sheet http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetCapitalizedComputerSoftwareDetails Capitalized Software Development Costs, net - Capitalized Computer Software (Details) Details 36 false false R37.htm 9954717 - Disclosure - Capitalized Software Development Costs, net - Additional Information (Details) Sheet http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetAdditionalInformationDetails Capitalized Software Development Costs, net - Additional Information (Details) Details 37 false false R38.htm 9954718 - Disclosure - Capitalized Software Development Costs, net - Capitalized Computer Software Future Amortization Expense (Details) Sheet http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails Capitalized Software Development Costs, net - Capitalized Computer Software Future Amortization Expense (Details) Details 38 false false R39.htm 9954719 - Disclosure - Intangible Assets, net - Schedule of Finite-Lived Intangible Assets (Details) Sheet http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails Intangible Assets, net - Schedule of Finite-Lived Intangible Assets (Details) Details 39 false false R40.htm 9954720 - Disclosure - Intangible Assets, net - Additional Information (Details) Sheet http://www.appfolio.com/role/IntangibleAssetsnetAdditionalInformationDetails Intangible Assets, net - Additional Information (Details) Details 40 false false R41.htm 9954721 - Disclosure - Intangible Assets, net - Schedule of Finite-Lived Intangible Assets, Future Amortization Expense (Details) Sheet http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails Intangible Assets, net - Schedule of Finite-Lived Intangible Assets, Future Amortization Expense (Details) Details 41 false false R42.htm 9954722 - Disclosure - Accrued Employee Expenses (Details) Sheet http://www.appfolio.com/role/AccruedEmployeeExpensesDetails Accrued Employee Expenses (Details) Details http://www.appfolio.com/role/AccruedEmployeeExpensesTables 42 false false R43.htm 9954723 - Disclosure - Accrued Employee Expenses - Additional Information (Details) Sheet http://www.appfolio.com/role/AccruedEmployeeExpensesAdditionalInformationDetails Accrued Employee Expenses - Additional Information (Details) Details 43 false false R44.htm 9954724 - Disclosure - Leases - Additional Information (Details) Sheet http://www.appfolio.com/role/LeasesAdditionalInformationDetails Leases - Additional Information (Details) Details 44 false false R45.htm 9954725 - Disclosure - Leases - Schedule of Components of Lease Expense (Details) Sheet http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseExpenseDetails Leases - Schedule of Components of Lease Expense (Details) Details 45 false false R46.htm 9954726 - Disclosure - Leases - Lease Related Assets and Liabilities (Details) Sheet http://www.appfolio.com/role/LeasesLeaseRelatedAssetsandLiabilitiesDetails Leases - Lease Related Assets and Liabilities (Details) Details 46 false false R47.htm 9954727 - Disclosure - Leases - Schedule of Minimum Lease Payments Under Leases (Details) Sheet http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails Leases - Schedule of Minimum Lease Payments Under Leases (Details) Details 47 false false R48.htm 9954728 - Disclosure - Commitments and Contingencies (Details) Sheet http://www.appfolio.com/role/CommitmentsandContingenciesDetails Commitments and Contingencies (Details) Details http://www.appfolio.com/role/CommitmentsandContingencies 48 false false R49.htm 9954729 - Disclosure - Stock-Based Compensation - Stock Option Activity (Details) Sheet http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails Stock-Based Compensation - Stock Option Activity (Details) Details 49 false false R50.htm 9954730 - Disclosure - Stock-Based Compensation - Narrative (Details) Sheet http://www.appfolio.com/role/StockBasedCompensationNarrativeDetails Stock-Based Compensation - Narrative (Details) Details 50 false false R51.htm 9954731 - Disclosure - Stock-Based Compensation - Assumptions (Details) Sheet http://www.appfolio.com/role/StockBasedCompensationAssumptionsDetails Stock-Based Compensation - Assumptions (Details) Details 51 false false R52.htm 9954732 - Disclosure - Stock-Based Compensation - Restricted Stock Units Activity (Details) Sheet http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails Stock-Based Compensation - Restricted Stock Units Activity (Details) Details 52 false false R53.htm 9954733 - Disclosure - Stock-Based Compensation - Restricted Stock Units Narrative (Details) Sheet http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails Stock-Based Compensation - Restricted Stock Units Narrative (Details) Details 53 false false R54.htm 9954734 - Disclosure - Stock-Based Compensation - Restricted Stock Awards (Details) Sheet http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails Stock-Based Compensation - Restricted Stock Awards (Details) Details 54 false false R55.htm 9954735 - Disclosure - Income Taxes (Details) Sheet http://www.appfolio.com/role/IncomeTaxesDetails Income Taxes (Details) Details http://www.appfolio.com/role/IncomeTaxes 55 false false R56.htm 9954736 - Disclosure - Revenue and Other Information (Details) Sheet http://www.appfolio.com/role/RevenueandOtherInformationDetails Revenue and Other Information (Details) Details http://www.appfolio.com/role/RevenueandOtherInformationTables 56 false false R57.htm 9954737 - Disclosure - Revenue and Other Information - Additional Information (Details) Sheet http://www.appfolio.com/role/RevenueandOtherInformationAdditionalInformationDetails Revenue and Other Information - Additional Information (Details) Details 57 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 5 fact(s) appearing in ix:hidden were eligible for transformation: ecd:TrdArrDuration, us-gaap:LesseeOperatingLeaseTermOfContract, us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage - appf-20230630.htm 4 appf-20230630.htm a63023exhibit311.htm a63023exhibit312.htm a63023exhibit321.htm appf-20230630.xsd appf-20230630_cal.xml appf-20230630_def.xml appf-20230630_lab.xml appf-20230630_pre.xml http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 http://xbrl.sec.gov/ecd/2023 true true JSON 74 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "appf-20230630.htm": { "axisCustom": 0, "axisStandard": 14, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 717, "http://xbrl.sec.gov/dei/2023": 30, "http://xbrl.sec.gov/ecd/2023": 10 }, "contextCount": 225, "dts": { "calculationLink": { "local": [ "appf-20230630_cal.xml" ] }, "definitionLink": { "local": [ "appf-20230630_def.xml" ] }, "inline": { "local": [ "appf-20230630.htm" ] }, "labelLink": { "local": [ "appf-20230630_lab.xml" ] }, "presentationLink": { "local": [ "appf-20230630_pre.xml" ] }, "schema": { "local": [ "appf-20230630.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd" ] } }, "elementCount": 471, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2023": 6, "http://xbrl.sec.gov/dei/2023": 5, "http://xbrl.sec.gov/ecd/2023": 1, "total": 12 }, "keyCustom": 25, "keyStandard": 239, "memberCustom": 11, "memberStandard": 34, "nsprefix": "appf", "nsuri": "http://www.appfolio.com/20230630", "report": { "R1": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "0000001 - Document - Cover Page", "menuCat": "Cover", "order": "1", "role": "http://www.appfolio.com/role/CoverPage", "shortName": "Cover Page", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000010 - Disclosure - Investment Securities and Fair Value Measurements", "menuCat": "Notes", "order": "10", "role": "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurements", "shortName": "Investment Securities and Fair Value Measurements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000011 - Disclosure - Capitalized Software Development Costs, net", "menuCat": "Notes", "order": "11", "role": "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnet", "shortName": "Capitalized Software Development Costs, net", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000012 - Disclosure - Intangible Assets, net", "menuCat": "Notes", "order": "12", "role": "http://www.appfolio.com/role/IntangibleAssetsnet", "shortName": "Intangible Assets, net", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CompensationRelatedCostsGeneralTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000013 - Disclosure - Accrued Employee Expenses", "menuCat": "Notes", "order": "13", "role": "http://www.appfolio.com/role/AccruedEmployeeExpenses", "shortName": "Accrued Employee Expenses", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CompensationRelatedCostsGeneralTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000014 - Disclosure - Leases", "menuCat": "Notes", "order": "14", "role": "http://www.appfolio.com/role/Leases", "shortName": "Leases", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000015 - Disclosure - Commitments and Contingencies", "menuCat": "Notes", "order": "15", "role": "http://www.appfolio.com/role/CommitmentsandContingencies", "shortName": "Commitments and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000016 - Disclosure - Stock-Based Compensation", "menuCat": "Notes", "order": "16", "role": "http://www.appfolio.com/role/StockBasedCompensation", "shortName": "Stock-Based Compensation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000017 - Disclosure - Income Taxes", "menuCat": "Notes", "order": "17", "role": "http://www.appfolio.com/role/IncomeTaxes", "shortName": "Income Taxes", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000018 - Disclosure - Revenue and Other Information", "menuCat": "Notes", "order": "18", "role": "http://www.appfolio.com/role/RevenueandOtherInformation", "shortName": "Revenue and Other Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-10", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "menuCat": "Notes", "order": "19", "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "shortName": "Pay vs Performance Disclosure", "subGroupType": "", "uniqueAnchor": null }, "R2": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000002 - Statement - Condensed Consolidated Balance Sheets", "menuCat": "Statements", "order": "2", "role": "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets", "shortName": "Condensed Consolidated Balance Sheets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": "-3", "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleExcludingAccruedInterestCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "ecd:MtrlTermsOfTrdArrTextBlock", "span", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-10", "decimals": null, "first": true, "lang": "en-US", "name": "ecd:Rule10b51ArrAdoptedFlag", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "995445 - Disclosure - Insider Trading Arrangements", "menuCat": "Notes", "order": "20", "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "shortName": "Insider Trading Arrangements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "ecd:MtrlTermsOfTrdArrTextBlock", "span", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-10", "decimals": null, "first": true, "lang": "en-US", "name": "ecd:Rule10b51ArrAdoptedFlag", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954701 - Disclosure - Summary of Significant Accounting Policies (Policies)", "menuCat": "Policies", "order": "21", "role": "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies", "shortName": "Summary of Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954702 - Disclosure - Summary of Significant Accounting Policies (Tables)", "menuCat": "Tables", "order": "22", "role": "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesTables", "shortName": "Summary of Significant Accounting Policies (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954703 - Disclosure - Investment Securities and Fair Value Measurements (Tables)", "menuCat": "Tables", "order": "23", "role": "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables", "shortName": "Investment Securities and Fair Value Measurements (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "appf:ScheduleOfCapitalizedComputerSoftwareTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954704 - Disclosure - Capitalized Software Development Costs, net (Tables)", "menuCat": "Tables", "order": "24", "role": "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetTables", "shortName": "Capitalized Software Development Costs, net (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "appf:ScheduleOfCapitalizedComputerSoftwareTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954705 - Disclosure - Intangible Assets, net (Tables)", "menuCat": "Tables", "order": "25", "role": "http://www.appfolio.com/role/IntangibleAssetsnetTables", "shortName": "Intangible Assets, net (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "appf:ScheduleOfAccruedEmployeeExpensesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954706 - Disclosure - Accrued Employee Expenses (Tables)", "menuCat": "Tables", "order": "26", "role": "http://www.appfolio.com/role/AccruedEmployeeExpensesTables", "shortName": "Accrued Employee Expenses (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "appf:ScheduleOfAccruedEmployeeExpensesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954707 - Disclosure - Leases (Tables)", "menuCat": "Tables", "order": "27", "role": "http://www.appfolio.com/role/LeasesTables", "shortName": "Leases (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954708 - Disclosure - Stock-Based Compensation (Tables)", "menuCat": "Tables", "order": "28", "role": "http://www.appfolio.com/role/StockBasedCompensationTables", "shortName": "Stock-Based Compensation (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954709 - Disclosure - Revenue and Other Information (Tables)", "menuCat": "Tables", "order": "29", "role": "http://www.appfolio.com/role/RevenueandOtherInformationTables", "shortName": "Revenue and Other Information (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-10", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000003 - Statement - Condensed Consolidated Statements of Operations", "menuCat": "Statements", "order": "3", "role": "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations", "shortName": "Condensed Consolidated Statements of Operations", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-10", "decimals": "-3", "lang": "en-US", "name": "us-gaap:CostOfGoodsAndServiceExcludingDepreciationDepletionAndAmortization", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-10", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:WeightedAverageNumberOfSharesIssuedBasic", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954710 - Disclosure - Summary of Significant Accounting Policies - Schedule of Net Income per Share (Details)", "menuCat": "Details", "order": "30", "role": "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesScheduleofNetIncomeperShareDetails", "shortName": "Summary of Significant Accounting Policies - Schedule of Net Income per Share (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-10", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:WeightedAverageNumberOfSharesIssuedBasic", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954711 - Disclosure - Investment Securities and Fair Value Measurements - Schedule of Available-for-sale Securities (Details)", "menuCat": "Details", "order": "31", "role": "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails", "shortName": "Investment Securities and Fair Value Measurements - Schedule of Available-for-sale Securities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": "-3", "lang": "en-US", "name": "us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostAllowanceForCreditLossExcludingAccruedInterest", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954712 - Disclosure - Investment Securities and Fair Value Measurements - Additional Information (Details)", "menuCat": "Details", "order": "32", "role": "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAdditionalInformationDetails", "shortName": "Investment Securities and Fair Value Measurements - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostAllowanceForCreditLossExcludingAccruedInterest", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954713 - Disclosure - Investment Securities and Fair Value Measurements - Available-for-sale Investments, by Remaining Contract Maturity (Details)", "menuCat": "Details", "order": "33", "role": "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails", "shortName": "Investment Securities and Fair Value Measurements - Available-for-sale Investments, by Remaining Contract Maturity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleRealizedGain", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954714 - Disclosure - Investment Securities and Fair Value Measurements - Schedule of Sales, Calls and Maturities (Details)", "menuCat": "Details", "order": "34", "role": "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails", "shortName": "Investment Securities and Fair Value Measurements - Schedule of Sales, Calls and Maturities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleRealizedGain", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleExcludingAccruedInterest", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954715 - Disclosure - Investment Securities and Fair Value Measurements - Fair Value, Assets Measured on Recurring Basis (Details)", "menuCat": "Details", "order": "35", "role": "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails", "shortName": "Investment Securities and Fair Value Measurements - Fair Value, Assets Measured on Recurring Basis (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-118", "decimals": "-3", "lang": "en-US", "name": "us-gaap:AssetsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "appf:ScheduleOfCapitalizedComputerSoftwareTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CapitalizedComputerSoftwareGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954716 - Disclosure - Capitalized Software Development Costs, net - Capitalized Computer Software (Details)", "menuCat": "Details", "order": "36", "role": "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetCapitalizedComputerSoftwareDetails", "shortName": "Capitalized Software Development Costs, net - Capitalized Computer Software (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "appf:ScheduleOfCapitalizedComputerSoftwareTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CapitalizedComputerSoftwareGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-10", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:CapitalizedComputerSoftwareAdditions", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954717 - Disclosure - Capitalized Software Development Costs, net - Additional Information (Details)", "menuCat": "Details", "order": "37", "role": "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetAdditionalInformationDetails", "shortName": "Capitalized Software Development Costs, net - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-10", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:CapitalizedComputerSoftwareAdditions", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "appf:ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "appf:CapitalizedComputerSoftwareAmortizationExpenseRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954718 - Disclosure - Capitalized Software Development Costs, net - Capitalized Computer Software Future Amortization Expense (Details)", "menuCat": "Details", "order": "38", "role": "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails", "shortName": "Capitalized Software Development Costs, net - Capitalized Computer Software Future Amortization Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "appf:ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "appf:CapitalizedComputerSoftwareAmortizationExpenseRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954719 - Disclosure - Intangible Assets, net - Schedule of Finite-Lived Intangible Assets (Details)", "menuCat": "Details", "order": "39", "role": "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails", "shortName": "Intangible Assets, net - Schedule of Finite-Lived Intangible Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-10", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000004 - Statement - Condensed Consolidated Statements of Operations (Parenthetical)", "menuCat": "Statements", "order": "4", "role": "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsParenthetical", "shortName": "Condensed Consolidated Statements of Operations (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-13", "decimals": "-3", "lang": "en-US", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-10", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:AmortizationOfIntangibleAssets", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954720 - Disclosure - Intangible Assets, net - Additional Information (Details)", "menuCat": "Details", "order": "40", "role": "http://www.appfolio.com/role/IntangibleAssetsnetAdditionalInformationDetails", "shortName": "Intangible Assets, net - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-10", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:AmortizationOfIntangibleAssets", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954721 - Disclosure - Intangible Assets, net - Schedule of Finite-Lived Intangible Assets, Future Amortization Expense (Details)", "menuCat": "Details", "order": "41", "role": "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails", "shortName": "Intangible Assets, net - Schedule of Finite-Lived Intangible Assets, Future Amortization Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "appf:ScheduleOfAccruedEmployeeExpensesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AccruedVacationCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954722 - Disclosure - Accrued Employee Expenses (Details)", "menuCat": "Details", "order": "42", "role": "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails", "shortName": "Accrued Employee Expenses (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "appf:ScheduleOfAccruedEmployeeExpensesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AccruedVacationCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-37", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:SeveranceCosts1", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954723 - Disclosure - Accrued Employee Expenses - Additional Information (Details)", "menuCat": "Details", "order": "43", "role": "http://www.appfolio.com/role/AccruedEmployeeExpensesAdditionalInformationDetails", "shortName": "Accrued Employee Expenses - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-37", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:SeveranceCosts1", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LessorOperatingLeaseRenewalTerm", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954724 - Disclosure - Leases - Additional Information (Details)", "menuCat": "Details", "order": "44", "role": "http://www.appfolio.com/role/LeasesAdditionalInformationDetails", "shortName": "Leases - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-11", "decimals": "-5", "lang": "en-US", "name": "us-gaap:ImpairmentOfLongLivedAssetsHeldForUse", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-10", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseCost", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954725 - Disclosure - Leases - Schedule of Components of Lease Expense (Details)", "menuCat": "Details", "order": "45", "role": "http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseExpenseDetails", "shortName": "Leases - Schedule of Components of Lease Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-10", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseCost", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseRightOfUseAsset", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954726 - Disclosure - Leases - Lease Related Assets and Liabilities (Details)", "menuCat": "Details", "order": "46", "role": "http://www.appfolio.com/role/LeasesLeaseRelatedAssetsandLiabilitiesDetails", "shortName": "Leases - Lease Related Assets and Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "appf:LeaseAssetsAndLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": "-3", "lang": "en-US", "name": "us-gaap:OperatingLeaseLiabilityCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "appf:LesseeOperatingLeaseLiabilityToBePaidRemainderOfFiscalYearNetOfTenantAllowance", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954727 - Disclosure - Leases - Schedule of Minimum Lease Payments Under Leases (Details)", "menuCat": "Details", "order": "47", "role": "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails", "shortName": "Leases - Schedule of Minimum Lease Payments Under Leases (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "appf:LesseeOperatingLeaseLiabilityToBePaidRemainderOfFiscalYearNetOfTenantAllowance", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": "INF", "first": true, "lang": "en-US", "name": "appf:PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954728 - Disclosure - Commitments and Contingencies (Details)", "menuCat": "Details", "order": "48", "role": "http://www.appfolio.com/role/CommitmentsandContingenciesDetails", "shortName": "Commitments and Contingencies (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": "INF", "first": true, "lang": "en-US", "name": "appf:PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-5", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954729 - Disclosure - Stock-Based Compensation - Stock Option Activity (Details)", "menuCat": "Details", "order": "49", "role": "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails", "shortName": "Stock-Based Compensation - Stock Option Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": "0", "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-10", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000005 - Statement - Consolidated Statements of Comprehensive Loss", "menuCat": "Statements", "order": "5", "role": "http://www.appfolio.com/role/ConsolidatedStatementsofComprehensiveLoss", "shortName": "Consolidated Statements of Comprehensive Loss", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-10", "decimals": "-3", "lang": "en-US", "name": "us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "reportCount": 1, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954730 - Disclosure - Stock-Based Compensation - Narrative (Details)", "menuCat": "Details", "order": "50", "role": "http://www.appfolio.com/role/StockBasedCompensationNarrativeDetails", "shortName": "Stock-Based Compensation - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-176", "decimals": "0", "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-179", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954731 - Disclosure - Stock-Based Compensation - Assumptions (Details)", "menuCat": "Details", "order": "51", "role": "http://www.appfolio.com/role/StockBasedCompensationAssumptionsDetails", "shortName": "Stock-Based Compensation - Assumptions (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-179", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-182", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954732 - Disclosure - Stock-Based Compensation - Restricted Stock Units Activity (Details)", "menuCat": "Details", "order": "52", "role": "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails", "shortName": "Stock-Based Compensation - Restricted Stock Units Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-182", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-10", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954733 - Disclosure - Stock-Based Compensation - Restricted Stock Units Narrative (Details)", "menuCat": "Details", "order": "53", "role": "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails", "shortName": "Stock-Based Compensation - Restricted Stock Units Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-199", "decimals": "-5", "lang": "en-US", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-204", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954734 - Disclosure - Stock-Based Compensation - Restricted Stock Awards (Details)", "menuCat": "Details", "order": "54", "role": "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails", "shortName": "Stock-Based Compensation - Restricted Stock Awards (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-205", "decimals": "-3", "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-10", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxExpenseBenefit", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954735 - Disclosure - Income Taxes (Details)", "menuCat": "Details", "order": "55", "role": "http://www.appfolio.com/role/IncomeTaxesDetails", "shortName": "Income Taxes (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-10", "decimals": "2", "lang": "en-US", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-10", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954736 - Disclosure - Revenue and Other Information (Details)", "menuCat": "Details", "order": "56", "role": "http://www.appfolio.com/role/RevenueandOtherInformationDetails", "shortName": "Revenue and Other Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-210", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiabilityCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954737 - Disclosure - Revenue and Other Information - Additional Information (Details)", "menuCat": "Details", "order": "57", "role": "http://www.appfolio.com/role/RevenueandOtherInformationAdditionalInformationDetails", "shortName": "Revenue and Other Information - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiabilityCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-58", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CommonStockSharesOutstanding", "reportCount": 1, "unitRef": "shares", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000006 - Statement - Condensed Consolidated Statements of Stockholders' Equity", "menuCat": "Statements", "order": "6", "role": "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity", "shortName": "Condensed Consolidated Statements of Stockholders' Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-65", "decimals": "-3", "lang": "en-US", "name": "us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000007 - Statement - Condensed Consolidated Statements of Cash Flows", "menuCat": "Statements", "order": "7", "role": "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows", "shortName": "Condensed Consolidated Statements of Cash Flows", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": "-3", "lang": "en-US", "name": "us-gaap:DepreciationDepletionAndAmortization", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000008 - Disclosure - Nature of Business", "menuCat": "Notes", "order": "8", "role": "http://www.appfolio.com/role/NatureofBusiness", "shortName": "Nature of Business", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000009 - Disclosure - Summary of Significant Accounting Policies", "menuCat": "Notes", "order": "9", "role": "http://www.appfolio.com/role/SummaryofSignificantAccountingPolicies", "shortName": "Summary of Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "appf-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 46, "tag": { "appf_AccruedPayrollAndOtherCurrent": { "auth_ref": [], "calculation": { "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails": { "order": 4.0, "parentTag": "us-gaap_EmployeeRelatedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accrued Payroll And Other, Current", "label": "Accrued Payroll And Other, Current", "terseLabel": "Accrued payroll and other" } } }, "localname": "AccruedPayrollAndOtherCurrent", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails" ], "xbrltype": "monetaryItemType" }, "appf_AccruedSeveranceCurrent": { "auth_ref": [], "calculation": { "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails": { "order": 2.0, "parentTag": "us-gaap_EmployeeRelatedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accrued Severance, Current", "label": "Accrued Severance, Current", "terseLabel": "Accrued severance" } } }, "localname": "AccruedSeveranceCurrent", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails" ], "xbrltype": "monetaryItemType" }, "appf_CapitalizedComputerSoftwareAmortizationExpenseRemainderOfFiscalYear": { "auth_ref": [], "calculation": { "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails": { "order": 1.0, "parentTag": "us-gaap_CapitalizedComputerSoftwareNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Capitalized Computer Software, Amortization Expense, Remainder Of Fiscal Year", "label": "Capitalized Computer Software, Amortization Expense, Remainder Of Fiscal Year", "terseLabel": "2023" } } }, "localname": "CapitalizedComputerSoftwareAmortizationExpenseRemainderOfFiscalYear", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne": { "auth_ref": [], "calculation": { "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails": { "order": 3.0, "parentTag": "us-gaap_CapitalizedComputerSoftwareNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Capitalized Computer Software, Amortization Expense, Year One", "label": "Capitalized Computer Software, Amortization Expense, Year One", "terseLabel": "2024" } } }, "localname": "CapitalizedComputerSoftwareAmortizationExpenseYearOne", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree": { "auth_ref": [], "calculation": { "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails": { "order": 2.0, "parentTag": "us-gaap_CapitalizedComputerSoftwareNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Capitalized Computer Software, Amortization Expense, Year Three", "label": "Capitalized Computer Software, Amortization Expense, Year Three", "terseLabel": "2026" } } }, "localname": "CapitalizedComputerSoftwareAmortizationExpenseYearThree", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo": { "auth_ref": [], "calculation": { "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails": { "order": 4.0, "parentTag": "us-gaap_CapitalizedComputerSoftwareNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Capitalized Computer Software, Amortization Expense, Year Two", "label": "Capitalized Computer Software, Amortization Expense, Year Two", "terseLabel": "2025" } } }, "localname": "CapitalizedComputerSoftwareAmortizationExpenseYearTwo", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "appf_CapitalizedComputerSoftwareDisposals": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Capitalized Computer Software, Disposals", "label": "Capitalized Computer Software, Disposals", "terseLabel": "Capitalized computer software, disposals" } } }, "localname": "CapitalizedComputerSoftwareDisposals", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "appf_CoreSolutionsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Core Solutions [Member]", "label": "Core Solutions [Member]", "terseLabel": "Core solutions" } } }, "localname": "CoreSolutionsMember", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/RevenueandOtherInformationDetails" ], "xbrltype": "domainItemType" }, "appf_DatabaseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Database [Member]", "label": "Database [Member]", "terseLabel": "Database" } } }, "localname": "DatabaseMember", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "appf_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour": { "auth_ref": [], "calculation": { "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails": { "order": 6.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Finite-Lived Intangible Asset, Expected Amortization, after Year Four", "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Four", "terseLabel": "Thereafter" } } }, "localname": "FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "appf_GainLossOnModificationOfLease": { "auth_ref": [], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Gain (Loss) On Modification Of Lease", "label": "Gain (Loss) On Modification Of Lease", "negatedTerseLabel": "Gain on lease modification", "terseLabel": "Gain (loss) on modification of lease" } } }, "localname": "GainLossOnModificationOfLease", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows", "http://www.appfolio.com/role/LeasesAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "appf_JanetKerrMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Janet Kerr", "label": "Janet Kerr [Member]" } } }, "localname": "JanetKerrMember", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "domainItemType" }, "appf_LeaseAssetsAndLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Lease Assets And Liabilities", "label": "Lease Assets And Liabilities [Table Text Block]", "terseLabel": "Lease Assets and Liabilities" } } }, "localname": "LeaseAssetsAndLiabilitiesTableTextBlock", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "appf_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour": { "auth_ref": [], "calculation": { "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails_1": { "order": 4.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Lessee, Operating Lease, Liability, to be Paid, After Year Four", "label": "Lessee, Operating Lease, Liability, to be Paid, After Year Four", "terseLabel": "Thereafter" } } }, "localname": "LesseeOperatingLeaseLiabilityToBePaidAfterYearFour", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "appf_LesseeOperatingLeaseLiabilityToBePaidRemainderOfFiscalYearNetOfTenantAllowance": { "auth_ref": [], "calculation": { "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails_1": { "order": 5.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Lessee, Operating Lease, Liability, To Be Paid, Remainder Of Fiscal Year, Net Of Tenant Allowance", "label": "Lessee, Operating Lease, Liability, To Be Paid, Remainder Of Fiscal Year, Net Of Tenant Allowance", "terseLabel": "2023" } } }, "localname": "LesseeOperatingLeaseLiabilityToBePaidRemainderOfFiscalYearNetOfTenantAllowance", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "appf_LesseeOperatingLeaseLiabilityToBePaidYearOneNetOfTenantAllowance": { "auth_ref": [], "calculation": { "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails_1": { "order": 6.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Lessee, Operating Lease, Liability, To Be Paid, Year One, Net Of Tenant Allowance", "label": "Lessee, Operating Lease, Liability, To Be Paid, Year One, Net Of Tenant Allowance", "terseLabel": "2024" } } }, "localname": "LesseeOperatingLeaseLiabilityToBePaidYearOneNetOfTenantAllowance", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "appf_OtherServicesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Other Services [Member]", "label": "Other Services [Member]", "terseLabel": "Other" } } }, "localname": "OtherServicesMember", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/RevenueandOtherInformationDetails" ], "xbrltype": "domainItemType" }, "appf_PartnerRelationshipsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Partner Relationships [Member]", "label": "Partner Relationships [Member]", "terseLabel": "Partner relationships" } } }, "localname": "PartnerRelationshipsMember", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "appf_PerformanceStockUnitsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Performance Stock Units [Member]", "label": "Performance Stock Units [Member]", "terseLabel": "PSUs" } } }, "localname": "PerformanceStockUnitsMember", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Property, Liability And Casualty Insurance, Deposits Held With Third Party As Collateral For Services", "label": "Property, Liability And Casualty Insurance, Deposits Held With Third Party As Collateral For Services", "terseLabel": "Deposits held with a third party related to insurance services collateral" } } }, "localname": "PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/CommitmentsandContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Property, Liability And Casualty Insurance, Per Incident And Per Residence Coverage Limit", "label": "Property, Liability And Casualty Insurance, Per Incident And Per Residence Coverage Limit", "terseLabel": "Per incident policy limit" } } }, "localname": "PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/CommitmentsandContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "appf_RestrictedStockUnitsAndPerformanceStockUnitsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Restricted Stock Units And Performance Stock Units [Member]", "label": "Restricted Stock Units And Performance Stock Units [Member]", "terseLabel": "RSUs and PSUs" } } }, "localname": "RestrictedStockUnitsAndPerformanceStockUnitsMember", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Restricted Stock Units, Shares Issued Net Of Shares For Tax Withholdings", "label": "Restricted Stock Units, Shares Issued Net Of Shares For Tax Withholdings", "terseLabel": "Vesting of restricted stock units, net of shares withheld for taxes (in shares)" } } }, "localname": "RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "sharesItemType" }, "appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Restricted Stock Units, Value, Shares Issued Net Of Tax Withholdings", "label": "Restricted Stock Units, Value, Shares Issued Net Of Tax Withholdings", "terseLabel": "Vesting of restricted stock units, net of shares withheld for taxes" } } }, "localname": "RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "appf_RestrictedStockUnitsWithServiceAndPerformanceConditionsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Restricted Stock Units with Service and Performance Conditions", "label": "Restricted Stock Units with Service and Performance Conditions [Member]", "terseLabel": "Restricted Stock Units with Service and Performance Conditions" } } }, "localname": "RestrictedStockUnitsWithServiceAndPerformanceConditionsMember", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "appf_RestrictedStockUnitsWithServiceConditionsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Restricted Stock Units With Service Conditions", "label": "Restricted Stock Units With Service Conditions [Member]", "terseLabel": "Restricted Stock Units With Service Conditions" } } }, "localname": "RestrictedStockUnitsWithServiceConditionsMember", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule of Accrued Employee Expenses", "label": "Schedule of Accrued Employee Expenses [Table Text Block]", "terseLabel": "Schedule of Accrued Employee Expenses" } } }, "localname": "ScheduleOfAccruedEmployeeExpensesTableTextBlock", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/AccruedEmployeeExpensesTables" ], "xbrltype": "textBlockItemType" }, "appf_ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule of Capitalized Computer Software, Future Amortization Expense [Table Text Block]", "label": "Schedule Of Capitalized Computer Software, Future Amortization Expense [Table Text Block]", "terseLabel": "Schedule of Capitalized Computer Software Future Amortization Expense" } } }, "localname": "ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetTables" ], "xbrltype": "textBlockItemType" }, "appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule Of Capitalized Computer Software [Table Text Block]", "label": "Schedule Of Capitalized Computer Software [Table Text Block]", "terseLabel": "Schedule of Capitalized Computer Software" } } }, "localname": "ScheduleOfCapitalizedComputerSoftwareTableTextBlock", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetTables" ], "xbrltype": "textBlockItemType" }, "appf_ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Measurement Period", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Measurement Period", "terseLabel": "Measurement period" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" ], "xbrltype": "durationItemType" }, "appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfAwardTargetPerformanceMetric": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based Compensation Arrangements By Share-Based Payment Award, Percent Of Award Target Performance Metric", "label": "Share-based Compensation Arrangements By Share-Based Payment Award, Percent Of Award Target Performance Metric", "terseLabel": "Percent of targeted performance metric" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfAwardTargetPerformanceMetric", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" ], "xbrltype": "percentItemType" }, "appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-Based Compensation Arrangements By Share-Based Payment Award, Percent Of Cash Bonus Payment On Initial Targets", "label": "Share-Based Compensation Arrangements By Share-Based Payment Award, Percent Of Cash Bonus Payment On Initial Targets", "terseLabel": "Percent of cash bonus payments on initial targets, percent" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" ], "xbrltype": "percentItemType" }, "appf_TechnologyMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Technology [Member]", "label": "Technology [Member]", "terseLabel": "Technology" } } }, "localname": "TechnologyMember", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "appf_TenantImprovementAllowanceCurrent": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Tenant Improvement Allowance, Current", "label": "Tenant Improvement Allowance, Current", "terseLabel": "Tenant allowance, remainder of fiscal year" } } }, "localname": "TenantImprovementAllowanceCurrent", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "appf_TenantImprovementAllowanceNoncurrent": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Tenant Improvement Allowance, Noncurrent", "label": "Tenant Improvement Allowance, Noncurrent", "terseLabel": "Tenant allowance, year one" } } }, "localname": "TenantImprovementAllowanceNoncurrent", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "appf_ValuePlusServicesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Value Plus Services [Member]", "label": "Value Plus Services [Member]", "terseLabel": "Value Added Services" } } }, "localname": "ValuePlusServicesMember", "nsuri": "http://www.appfolio.com/20230630", "presentation": [ "http://www.appfolio.com/role/RevenueandOtherInformationDetails" ], "xbrltype": "domainItemType" }, "dei_AmendmentFlag": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.", "label": "Amendment Flag", "terseLabel": "Amendment Flag" } } }, "localname": "AmendmentFlag", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area code of city", "label": "City Area Code", "terseLabel": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cover page.", "label": "Cover [Abstract]", "terseLabel": "Cover [Abstract]" } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2023", "xbrltype": "stringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date", "terseLabel": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentFiscalPeriodFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.", "label": "Document Fiscal Period Focus", "terseLabel": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.", "label": "Document Fiscal Year Focus", "terseLabel": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "gYearItemType" }, "dei_DocumentInformationLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Document Information [Line Items]", "terseLabel": "Document Information [Line Items]" } } }, "localname": "DocumentInformationLineItems", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "stringItemType" }, "dei_DocumentInformationTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package.", "label": "Document Information [Table]", "terseLabel": "Document Information [Table]" } } }, "localname": "DocumentInformationTable", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "stringItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.", "label": "Document Period End Date", "terseLabel": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r598" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an quarterly report.", "label": "Document Quarterly Report", "terseLabel": "Document Quarterly Report" } } }, "localname": "DocumentQuarterlyReport", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r631" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report", "terseLabel": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_DocumentType": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.", "label": "Document Type", "terseLabel": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "submissionTypeItemType" }, "dei_EntityAddressAddressLine1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 1 such as Attn, Building Name, Street Name", "label": "Entity Address, Address Line One", "terseLabel": "Entity Address, Address Line One" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town", "terseLabel": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code", "terseLabel": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address, State or Province", "terseLabel": "Entity Address, State or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r596" ], "lang": { "en-us": { "role": { "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.", "label": "Entity Central Index Key", "terseLabel": "Entity Central Index Key" } } }, "localname": "EntityCentralIndexKey", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "centralIndexKeyItemType" }, "dei_EntityCommonStockSharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.", "label": "Entity Common Stock, Shares Outstanding", "terseLabel": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "sharesItemType" }, "dei_EntityCurrentReportingStatus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Current Reporting Status", "terseLabel": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r596" ], "lang": { "en-us": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company", "terseLabel": "Entity Emerging Growth Company" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntityFileNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.", "label": "Entity File Number", "terseLabel": "Entity File Number" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r596" ], "lang": { "en-us": { "role": { "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Filer Category", "terseLabel": "Entity Filer Category" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "filerCategoryItemType" }, "dei_EntityIncorporationStateCountryCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Two-character EDGAR code representing the state or country of incorporation.", "label": "Entity Incorporation, State or Country Code", "terseLabel": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r670" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).", "label": "Entity Interactive Data Current", "terseLabel": "Entity Interactive Data Current" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r596" ], "lang": { "en-us": { "role": { "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.", "label": "Entity Registrant Name", "terseLabel": "Entity Registrant Name" } } }, "localname": "EntityRegistrantName", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r596" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.", "label": "Entity Shell Company", "terseLabel": "Entity Shell Company" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r596" ], "lang": { "en-us": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business", "terseLabel": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r596" ], "lang": { "en-us": { "role": { "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.", "label": "Entity Tax Identification Number", "terseLabel": "Entity Tax Identification Number" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "employerIdItemType" }, "dei_LocalPhoneNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Local phone number for entity.", "label": "Local Phone Number", "terseLabel": "Local Phone Number" } } }, "localname": "LocalPhoneNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r595" ], "lang": { "en-us": { "role": { "documentation": "Title of a 12(b) registered security.", "label": "Title of 12(b) Security", "terseLabel": "Title of 12(b) Security" } } }, "localname": "Security12bTitle", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r597" ], "lang": { "en-us": { "role": { "documentation": "Name of the Exchange on which a security is registered.", "label": "Security Exchange Name", "terseLabel": "Security Exchange Name" } } }, "localname": "SecurityExchangeName", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol", "terseLabel": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "tradingSymbolItemType" }, "ecd_Additional402vDisclosureTextBlock": { "auth_ref": [ "r632" ], "lang": { "en-us": { "role": { "label": "Additional 402(v) Disclosure [Text Block]", "terseLabel": "Additional 402(v) Disclosure" } } }, "localname": "Additional402vDisclosureTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AdjToCompAmt": { "auth_ref": [ "r638" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation Amount", "terseLabel": "Adjustment to Compensation, Amount" } } }, "localname": "AdjToCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_AdjToCompAxis": { "auth_ref": [ "r638" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation [Axis]", "terseLabel": "Adjustment to Compensation:" } } }, "localname": "AdjToCompAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "auth_ref": [ "r638" ], "lang": { "en-us": { "role": { "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]", "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote" } } }, "localname": "AdjToNonPeoNeoCompFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AdjToPeoCompFnTextBlock": { "auth_ref": [ "r638" ], "lang": { "en-us": { "role": { "label": "Adjustment To PEO Compensation, Footnote [Text Block]", "terseLabel": "Adjustment To PEO Compensation, Footnote" } } }, "localname": "AdjToPeoCompFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AggtErrCompAmt": { "auth_ref": [ "r603", "r614", "r624", "r649" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Amount", "terseLabel": "Aggregate Erroneous Compensation Amount" } } }, "localname": "AggtErrCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "auth_ref": [ "r606", "r617", "r627", "r652" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]", "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined" } } }, "localname": "AggtErrCompNotYetDeterminedTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AllAdjToCompMember": { "auth_ref": [ "r638" ], "lang": { "en-us": { "role": { "label": "All Adjustments to Compensation [Member]", "terseLabel": "All Adjustments to Compensation" } } }, "localname": "AllAdjToCompMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_AllExecutiveCategoriesMember": { "auth_ref": [ "r645" ], "lang": { "en-us": { "role": { "label": "All Executive Categories [Member]", "terseLabel": "All Executive Categories" } } }, "localname": "AllExecutiveCategoriesMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_AllIndividualsMember": { "auth_ref": [ "r610", "r618", "r628", "r645", "r653", "r657", "r665" ], "lang": { "en-us": { "role": { "label": "All Individuals [Member]", "terseLabel": "All Individuals" } } }, "localname": "AllIndividualsMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_AllTradingArrangementsMember": { "auth_ref": [ "r663" ], "lang": { "en-us": { "role": { "label": "All Trading Arrangements [Member]", "terseLabel": "All Trading Arrangements" } } }, "localname": "AllTradingArrangementsMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "domainItemType" }, "ecd_AwardExrcPrice": { "auth_ref": [ "r660" ], "lang": { "en-us": { "role": { "label": "Award Exercise Price", "terseLabel": "Exercise Price" } } }, "localname": "AwardExrcPrice", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "perShareItemType" }, "ecd_AwardGrantDateFairValue": { "auth_ref": [ "r661" ], "lang": { "en-us": { "role": { "label": "Award Grant Date Fair Value", "terseLabel": "Fair Value as of Grant Date" } } }, "localname": "AwardGrantDateFairValue", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_AwardTmgDiscLineItems": { "auth_ref": [ "r656" ], "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]" } } }, "localname": "AwardTmgDiscLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "auth_ref": [ "r656" ], "lang": { "en-us": { "role": { "label": "Award Timing, How MNPI Considered [Text Block]", "terseLabel": "Award Timing, How MNPI Considered" } } }, "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AwardTmgMethodTextBlock": { "auth_ref": [ "r656" ], "lang": { "en-us": { "role": { "label": "Award Timing Method [Text Block]", "terseLabel": "Award Timing Method" } } }, "localname": "AwardTmgMethodTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AwardTmgMnpiCnsdrdFlag": { "auth_ref": [ "r656" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Considered [Flag]", "terseLabel": "Award Timing MNPI Considered" } } }, "localname": "AwardTmgMnpiCnsdrdFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "booleanItemType" }, "ecd_AwardTmgMnpiDiscTextBlock": { "auth_ref": [ "r656" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Disclosure [Text Block]", "terseLabel": "Award Timing MNPI Disclosure" } } }, "localname": "AwardTmgMnpiDiscTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AwardTmgPredtrmndFlag": { "auth_ref": [ "r656" ], "lang": { "en-us": { "role": { "label": "Award Timing Predetermined [Flag]", "terseLabel": "Award Timing Predetermined" } } }, "localname": "AwardTmgPredtrmndFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "booleanItemType" }, "ecd_AwardUndrlygSecuritiesAmt": { "auth_ref": [ "r659" ], "lang": { "en-us": { "role": { "label": "Award Underlying Securities Amount", "terseLabel": "Underlying Securities" } } }, "localname": "AwardUndrlygSecuritiesAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "decimalItemType" }, "ecd_AwardsCloseToMnpiDiscIndName": { "auth_ref": [ "r658" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures, Individual Name", "terseLabel": "Name" } } }, "localname": "AwardsCloseToMnpiDiscIndName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "stringItemType" }, "ecd_AwardsCloseToMnpiDiscTable": { "auth_ref": [ "r657" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table]", "terseLabel": "Awards Close in Time to MNPI Disclosures" } } }, "localname": "AwardsCloseToMnpiDiscTable", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "stringItemType" }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "auth_ref": [ "r657" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]", "terseLabel": "Awards Close in Time to MNPI Disclosures, Table" } } }, "localname": "AwardsCloseToMnpiDiscTableTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_ChangedPeerGroupFnTextBlock": { "auth_ref": [ "r636" ], "lang": { "en-us": { "role": { "label": "Changed Peer Group, Footnote [Text Block]", "terseLabel": "Changed Peer Group, Footnote" } } }, "localname": "ChangedPeerGroupFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_CoSelectedMeasureAmt": { "auth_ref": [ "r637" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Amount", "terseLabel": "Company Selected Measure Amount" } } }, "localname": "CoSelectedMeasureAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "decimalItemType" }, "ecd_CoSelectedMeasureName": { "auth_ref": [ "r637" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Name", "terseLabel": "Company Selected Measure Name" } } }, "localname": "CoSelectedMeasureName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "normalizedStringItemType" }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "auth_ref": [ "r642" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Company Selected Measure" } } }, "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "auth_ref": [ "r641" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Net Income [Text Block]", "terseLabel": "Compensation Actually Paid vs. Net Income" } } }, "localname": "CompActuallyPaidVsNetIncomeTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "auth_ref": [ "r643" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Other Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Other Measure" } } }, "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "auth_ref": [ "r640" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]", "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return" } } }, "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "auth_ref": [ "r639" ], "lang": { "en-us": { "role": { "label": "Equity Valuation Assumption Difference, Footnote [Text Block]", "terseLabel": "Equity Valuation Assumption Difference, Footnote" } } }, "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_ErrCompAnalysisTextBlock": { "auth_ref": [ "r603", "r614", "r624", "r649" ], "lang": { "en-us": { "role": { "label": "Erroneous Compensation Analysis [Text Block]", "terseLabel": "Erroneous Compensation Analysis" } } }, "localname": "ErrCompAnalysisTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_ErrCompRecoveryTable": { "auth_ref": [ "r600", "r611", "r621", "r646" ], "lang": { "en-us": { "role": { "label": "Erroneously Awarded Compensation Recovery [Table]", "terseLabel": "Erroneously Awarded Compensation Recovery" } } }, "localname": "ErrCompRecoveryTable", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "stringItemType" }, "ecd_ExecutiveCategoryAxis": { "auth_ref": [ "r645" ], "lang": { "en-us": { "role": { "label": "Executive Category [Axis]", "terseLabel": "Executive Category:" } } }, "localname": "ExecutiveCategoryAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "auth_ref": [ "r607", "r618", "r628", "r653" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "auth_ref": [ "r607", "r618", "r628", "r653" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Expense of Enforcement, Amount", "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "auth_ref": [ "r607", "r618", "r628", "r653" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Violation of Home Country Law, Amount", "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "auth_ref": [ "r607", "r618", "r628", "r653" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Explanation of Impracticability [Text Block]", "terseLabel": "Forgone Recovery, Explanation of Impracticability" } } }, "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_ForgoneRecoveryIndName": { "auth_ref": [ "r607", "r618", "r628", "r653" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Individual Name", "terseLabel": "Name" } } }, "localname": "ForgoneRecoveryIndName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "stringItemType" }, "ecd_IndividualAxis": { "auth_ref": [ "r610", "r618", "r628", "r645", "r653", "r657", "r665" ], "lang": { "en-us": { "role": { "label": "Individual [Axis]", "terseLabel": "Individual:" } } }, "localname": "IndividualAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_InsiderTradingArrLineItems": { "auth_ref": [ "r663" ], "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]" } } }, "localname": "InsiderTradingArrLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_InsiderTradingPoliciesProcLineItems": { "auth_ref": [ "r599", "r669" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]" } } }, "localname": "InsiderTradingPoliciesProcLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "auth_ref": [ "r599", "r669" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Adopted [Flag]", "terseLabel": "Insider Trading Policies and Procedures Adopted" } } }, "localname": "InsiderTrdPoliciesProcAdoptedFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "xbrltype": "booleanItemType" }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "auth_ref": [ "r599", "r669" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]", "terseLabel": "Insider Trading Policies and Procedures Not Adopted" } } }, "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "xbrltype": "textBlockItemType" }, "ecd_MeasureAxis": { "auth_ref": [ "r637" ], "lang": { "en-us": { "role": { "label": "Measure [Axis]", "terseLabel": "Measure:" } } }, "localname": "MeasureAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_MeasureName": { "auth_ref": [ "r637" ], "lang": { "en-us": { "role": { "label": "Measure Name", "terseLabel": "Name" } } }, "localname": "MeasureName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "normalizedStringItemType" }, "ecd_MnpiDiscTimedForCompValFlag": { "auth_ref": [ "r656" ], "lang": { "en-us": { "role": { "label": "MNPI Disclosure Timed for Compensation Value [Flag]", "terseLabel": "MNPI Disclosure Timed for Compensation Value" } } }, "localname": "MnpiDiscTimedForCompValFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "booleanItemType" }, "ecd_MtrlTermsOfTrdArrTextBlock": { "auth_ref": [ "r664" ], "lang": { "en-us": { "role": { "label": "Material Terms of Trading Arrangement [Text Block]", "terseLabel": "Material Terms of Trading Arrangement" } } }, "localname": "MtrlTermsOfTrdArrTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "textBlockItemType" }, "ecd_NamedExecutiveOfficersFnTextBlock": { "auth_ref": [ "r638" ], "lang": { "en-us": { "role": { "label": "Named Executive Officers, Footnote [Text Block]", "terseLabel": "Named Executive Officers, Footnote" } } }, "localname": "NamedExecutiveOfficersFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_NonGaapMeasureDescriptionTextBlock": { "auth_ref": [ "r637" ], "lang": { "en-us": { "role": { "label": "Non-GAAP Measure Description [Text Block]", "terseLabel": "Non-GAAP Measure Description" } } }, "localname": "NonGaapMeasureDescriptionTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_NonNeosMember": { "auth_ref": [ "r607", "r618", "r628", "r645", "r653" ], "lang": { "en-us": { "role": { "label": "Non-NEOs [Member]", "terseLabel": "Non-NEOs" } } }, "localname": "NonNeosMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "domainItemType" }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "auth_ref": [ "r635" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Compensation Actually Paid Amount", "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_NonPeoNeoAvgTotalCompAmt": { "auth_ref": [ "r634" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Total Compensation Amount", "terseLabel": "Non-PEO NEO Average Total Compensation Amount" } } }, "localname": "NonPeoNeoAvgTotalCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_NonPeoNeoMember": { "auth_ref": [ "r645" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO [Member]", "terseLabel": "Non-PEO NEO" } } }, "localname": "NonPeoNeoMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_NonRule10b51ArrAdoptedFlag": { "auth_ref": [ "r664" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted" } } }, "localname": "NonRule10b51ArrAdoptedFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "booleanItemType" }, "ecd_NonRule10b51ArrTrmntdFlag": { "auth_ref": [ "r664" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated" } } }, "localname": "NonRule10b51ArrTrmntdFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "booleanItemType" }, "ecd_OtherPerfMeasureAmt": { "auth_ref": [ "r637" ], "lang": { "en-us": { "role": { "label": "Other Performance Measure, Amount", "terseLabel": "Other Performance Measure, Amount" } } }, "localname": "OtherPerfMeasureAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "decimalItemType" }, "ecd_OutstandingAggtErrCompAmt": { "auth_ref": [ "r605", "r616", "r626", "r651" ], "lang": { "en-us": { "role": { "label": "Outstanding Aggregate Erroneous Compensation Amount", "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "localname": "OutstandingAggtErrCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_OutstandingRecoveryCompAmt": { "auth_ref": [ "r608", "r619", "r629", "r654" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery Compensation Amount", "terseLabel": "Compensation Amount" } } }, "localname": "OutstandingRecoveryCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_OutstandingRecoveryIndName": { "auth_ref": [ "r608", "r619", "r629", "r654" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery, Individual Name", "terseLabel": "Name" } } }, "localname": "OutstandingRecoveryIndName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "stringItemType" }, "ecd_PayVsPerformanceDisclosureLineItems": { "auth_ref": [ "r633" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]" } } }, "localname": "PayVsPerformanceDisclosureLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_PeerGroupIssuersFnTextBlock": { "auth_ref": [ "r636" ], "lang": { "en-us": { "role": { "label": "Peer Group Issuers, Footnote [Text Block]", "terseLabel": "Peer Group Issuers, Footnote" } } }, "localname": "PeerGroupIssuersFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_PeerGroupTotalShareholderRtnAmt": { "auth_ref": [ "r636" ], "lang": { "en-us": { "role": { "label": "Peer Group Total Shareholder Return Amount", "terseLabel": "Peer Group Total Shareholder Return Amount" } } }, "localname": "PeerGroupTotalShareholderRtnAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_PeoActuallyPaidCompAmt": { "auth_ref": [ "r635" ], "lang": { "en-us": { "role": { "label": "PEO Actually Paid Compensation Amount", "terseLabel": "PEO Actually Paid Compensation Amount" } } }, "localname": "PeoActuallyPaidCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_PeoMember": { "auth_ref": [ "r645" ], "lang": { "en-us": { "role": { "label": "PEO [Member]", "terseLabel": "PEO" } } }, "localname": "PeoMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_PeoName": { "auth_ref": [ "r638" ], "lang": { "en-us": { "role": { "label": "PEO Name", "terseLabel": "PEO Name" } } }, "localname": "PeoName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "normalizedStringItemType" }, "ecd_PeoTotalCompAmt": { "auth_ref": [ "r634" ], "lang": { "en-us": { "role": { "label": "PEO Total Compensation Amount", "terseLabel": "PEO Total Compensation Amount" } } }, "localname": "PeoTotalCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_PvpTable": { "auth_ref": [ "r633" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Table]", "terseLabel": "Pay vs Performance Disclosure" } } }, "localname": "PvpTable", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_PvpTableTextBlock": { "auth_ref": [ "r633" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance [Table Text Block]", "terseLabel": "Pay vs Performance Disclosure, Table" } } }, "localname": "PvpTableTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "auth_ref": [ "r600", "r611", "r621", "r646" ], "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]" } } }, "localname": "RecoveryOfErrCompDisclosureLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_RestatementDateAxis": { "auth_ref": [ "r601", "r612", "r622", "r647" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date [Axis]", "terseLabel": "Restatement Determination Date:" } } }, "localname": "RestatementDateAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "stringItemType" }, "ecd_RestatementDeterminationDate": { "auth_ref": [ "r602", "r613", "r623", "r648" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date", "terseLabel": "Restatement Determination Date" } } }, "localname": "RestatementDeterminationDate", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "dateItemType" }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "auth_ref": [ "r609", "r620", "r630", "r655" ], "lang": { "en-us": { "role": { "label": "Restatement Does Not Require Recovery [Text Block]", "terseLabel": "Restatement does not require Recovery" } } }, "localname": "RestatementDoesNotRequireRecoveryTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_Rule10b51ArrAdoptedFlag": { "auth_ref": [ "r664" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Adopted" } } }, "localname": "Rule10b51ArrAdoptedFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "booleanItemType" }, "ecd_Rule10b51ArrTrmntdFlag": { "auth_ref": [ "r664" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Terminated" } } }, "localname": "Rule10b51ArrTrmntdFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "booleanItemType" }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "auth_ref": [ "r604", "r615", "r625", "r650" ], "lang": { "en-us": { "role": { "label": "Stock Price or TSR Estimation Method [Text Block]", "terseLabel": "Stock Price or TSR Estimation Method" } } }, "localname": "StkPrcOrTsrEstimationMethodTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_TabularListTableTextBlock": { "auth_ref": [ "r644" ], "lang": { "en-us": { "role": { "label": "Tabular List [Table Text Block]", "terseLabel": "Tabular List, Table" } } }, "localname": "TabularListTableTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_TotalShareholderRtnAmt": { "auth_ref": [ "r636" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Amount", "terseLabel": "Total Shareholder Return Amount" } } }, "localname": "TotalShareholderRtnAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "auth_ref": [ "r643" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Vs Peer Group [Text Block]", "terseLabel": "Total Shareholder Return Vs Peer Group" } } }, "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_TradingArrAxis": { "auth_ref": [ "r663" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement [Axis]", "terseLabel": "Trading Arrangement:" } } }, "localname": "TradingArrAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TradingArrByIndTable": { "auth_ref": [ "r665" ], "lang": { "en-us": { "role": { "label": "Trading Arrangements, by Individual [Table]", "terseLabel": "Trading Arrangements, by Individual" } } }, "localname": "TradingArrByIndTable", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TrdArrAdoptionDate": { "auth_ref": [ "r666" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Adoption Date", "terseLabel": "Adoption Date" } } }, "localname": "TrdArrAdoptionDate", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TrdArrDuration": { "auth_ref": [ "r667" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Duration", "terseLabel": "Arrangement Duration" } } }, "localname": "TrdArrDuration", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "durationItemType" }, "ecd_TrdArrIndName": { "auth_ref": [ "r665" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Name", "terseLabel": "Name" } } }, "localname": "TrdArrIndName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TrdArrIndTitle": { "auth_ref": [ "r665" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Title", "terseLabel": "Title" } } }, "localname": "TrdArrIndTitle", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TrdArrSecuritiesAggAvailAmt": { "auth_ref": [ "r668" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Securities Aggregate Available Amount", "terseLabel": "Aggregate Available" } } }, "localname": "TrdArrSecuritiesAggAvailAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "sharesItemType" }, "ecd_TrdArrTerminationDate": { "auth_ref": [ "r666" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Termination Date", "terseLabel": "Termination Date" } } }, "localname": "TrdArrTerminationDate", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_UndrlygSecurityMktPriceChngPct": { "auth_ref": [ "r662" ], "lang": { "en-us": { "role": { "label": "Underlying Security Market Price Change, Percent", "terseLabel": "Underlying Security Market Price Change" } } }, "localname": "UndrlygSecurityMktPriceChngPct", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "pureItemType" }, "srt_MaximumMember": { "auth_ref": [ "r255", "r256", "r257", "r258", "r301", "r432", "r465", "r491", "r492", "r543", "r544", "r545", "r546", "r547", "r554", "r555", "r563", "r568", "r579", "r584", "r719", "r757", "r758", "r759", "r760", "r761", "r762" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.appfolio.com/role/LeasesAdditionalInformationDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r255", "r256", "r257", "r258", "r301", "r432", "r465", "r491", "r492", "r543", "r544", "r545", "r546", "r547", "r554", "r555", "r563", "r568", "r579", "r584", "r719", "r757", "r758", "r759", "r760", "r761", "r762" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.appfolio.com/role/LeasesAdditionalInformationDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r193", "r433", "r459", "r460", "r461", "r462", "r463", "r464", "r557", "r569", "r583", "r674", "r715", "r716", "r720", "r766" ], "lang": { "en-us": { "role": { "label": "Product and Service [Axis]", "terseLabel": "Product and Service [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.appfolio.com/role/RevenueandOtherInformationDetails" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r193", "r433", "r459", "r460", "r461", "r462", "r463", "r464", "r557", "r569", "r583", "r674", "r715", "r716", "r720", "r766" ], "lang": { "en-us": { "role": { "label": "Product and Service [Domain]", "terseLabel": "Product and Service [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.appfolio.com/role/RevenueandOtherInformationDetails" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r255", "r256", "r257", "r258", "r294", "r301", "r329", "r330", "r331", "r408", "r432", "r465", "r491", "r492", "r543", "r544", "r545", "r546", "r547", "r554", "r555", "r563", "r568", "r579", "r584", "r587", "r713", "r719", "r758", "r759", "r760", "r761", "r762" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]", "terseLabel": "Statistical Measurement [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails", "http://www.appfolio.com/role/LeasesAdditionalInformationDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r255", "r256", "r257", "r258", "r294", "r301", "r329", "r330", "r331", "r408", "r432", "r465", "r491", "r492", "r543", "r544", "r545", "r546", "r547", "r554", "r555", "r563", "r568", "r579", "r584", "r587", "r713", "r719", "r758", "r759", "r760", "r761", "r762" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Domain]", "terseLabel": "Statistical Measurement [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails", "http://www.appfolio.com/role/LeasesAdditionalInformationDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" ], "xbrltype": "domainItemType" }, "srt_WeightedAverageMember": { "auth_ref": [ "r554", "r555", "r757", "r759", "r762" ], "lang": { "en-us": { "role": { "label": "Weighted Average [Member]", "terseLabel": "Weighted Average" } } }, "localname": "WeightedAverageMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accounting Policies [Abstract]", "terseLabel": "Accounting Policies [Abstract]" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r18", "r582" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accounts Payable, Current", "terseLabel": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r196", "r197" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.", "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "terseLabel": "Accounts receivable, net" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedBonusesCurrent": { "auth_ref": [ "r20" ], "calculation": { "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails": { "order": 3.0, "parentTag": "us-gaap_EmployeeRelatedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for incentive compensation awarded to employees and directors or earned by them based on the terms of one or more relevant arrangements. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Bonuses, Current", "terseLabel": "Accrued bonuses" } } }, "localname": "AccruedBonusesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedIncomeTaxesCurrent": { "auth_ref": [ "r65", "r98" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.", "label": "Accrued Income Taxes, Current", "terseLabel": "Income tax payable" } } }, "localname": "AccruedIncomeTaxesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r20" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Liabilities, Current", "terseLabel": "Accrued expenses" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedVacationCurrent": { "auth_ref": [ "r20", "r53" ], "calculation": { "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails": { "order": 1.0, "parentTag": "us-gaap_EmployeeRelatedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for unused vacation time owed to employees based on the entity's vacation benefit given to its employees. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Vacation, Current", "terseLabel": "Accrued vacation" } } }, "localname": "AccruedVacationCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r26", "r27", "r73", "r133", "r448", "r470", "r471" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r2", "r9", "r27", "r363", "r366", "r401", "r466", "r467", "r687", "r688", "r689", "r696", "r697", "r698" ], "lang": { "en-us": { "role": { "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.", "label": "AOCI Attributable to Parent [Member]", "terseLabel": "Accumulated Other Comprehensive Income (Loss)" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdditionalPaidInCapital": { "auth_ref": [ "r68", "r582", "r771" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.", "label": "Additional Paid in Capital", "terseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapital", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r339", "r340", "r341", "r479", "r696", "r697", "r698", "r749", "r772" ], "lang": { "en-us": { "role": { "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.", "label": "Additional Paid-in Capital [Member]", "terseLabel": "Additional Paid-in Capital" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r56", "r57", "r304" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.", "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition", "terseLabel": "Stock-based compensation" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Adjustments to reconcile net loss to net cash (used in) provided by operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AgencySecuritiesMember": { "auth_ref": [ "r701", "r704" ], "lang": { "en-us": { "role": { "documentation": "Securities issued by government sponsored entities.", "label": "Agency Securities [Member]", "netLabel": "Agency securities", "terseLabel": "Agency securities", "verboseLabel": "Agency securities" } } }, "localname": "AgencySecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails", "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails", "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r333", "r342" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.", "label": "Share-Based Payment Arrangement, Expense", "terseLabel": "Stock-based compensation expense", "verboseLabel": "Total stock-based compensation expense" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsParenthetical", "http://www.appfolio.com/role/StockBasedCompensationNarrativeDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r6", "r45", "r49" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.", "label": "Amortization of Intangible Assets", "terseLabel": "Amortization expense" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetImpairmentCharges": { "auth_ref": [ "r6", "r50" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.", "label": "Asset Impairment Charges", "terseLabel": "Impairment, net" } } }, "localname": "AssetImpairmentCharges", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_Assets": { "auth_ref": [ "r97", "r129", "r153", "r180", "r187", "r191", "r233", "r259", "r260", "r261", "r262", "r263", "r264", "r265", "r266", "r267", "r358", "r360", "r381", "r445", "r513", "r582", "r594", "r717", "r718", "r755" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets", "totalLabel": "Total assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "Assets" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r123", "r134", "r153", "r233", "r259", "r260", "r261", "r262", "r263", "r264", "r265", "r266", "r267", "r358", "r360", "r381", "r582", "r717", "r718", "r755" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Current", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsFairValueDisclosure": { "auth_ref": [ "r62" ], "calculation": { "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Fair Value Disclosure", "totalLabel": "Total" } } }, "localname": "AssetsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": { "auth_ref": [ "r205" ], "calculation": { "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails": { "order": 1.0, "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLoss", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, before tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax", "terseLabel": "Gross Unrealized Gains" } } }, "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": { "auth_ref": [ "r206" ], "calculation": { "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails": { "order": 2.0, "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLoss", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax", "negatedTerseLabel": "Gross Unrealized Losses" } } }, "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Available-for-Sale Securities, Debt Maturities [Abstract]", "terseLabel": "Available-for-sale Securities, Debt Maturities [Abstract]" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost": { "auth_ref": [ "r703" ], "calculation": { "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails": { "order": 2.0, "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLoss", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in second through fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, after Year One Through Five", "terseLabel": "Due after one year through three years" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue": { "auth_ref": [ "r210", "r443" ], "calculation": { "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails": { "order": 2.0, "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleExcludingAccruedInterest", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in second through fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, after Year One Through Five", "terseLabel": "Due after one year through three years" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Debt Securities, Available-for-Sale, Maturity, Allocated and Single Maturity Date, Fair Value [Abstract]", "terseLabel": "Estimated Fair Value" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasisAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Debt Securities, Available-for-Sale, Maturity, Allocated and Single Maturity Date, Amortized Cost [Abstract]", "terseLabel": "Amortized Cost" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasisAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost": { "auth_ref": [ "r702" ], "calculation": { "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails": { "order": 1.0, "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLoss", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year One", "terseLabel": "Due in one year or less" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue": { "auth_ref": [ "r209", "r442" ], "calculation": { "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails": { "order": 1.0, "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleExcludingAccruedInterest", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One", "terseLabel": "Due in one year or less" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317", "r318", "r319", "r320", "r321", "r322", "r323", "r324", "r325", "r326", "r327", "r328", "r329", "r330", "r331", "r332" ], "lang": { "en-us": { "role": { "documentation": "Information by type of award under share-based payment arrangement.", "label": "Award Type [Axis]", "terseLabel": "Award Type [Axis]" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationAssumptionsDetails", "http://www.appfolio.com/role/StockBasedCompensationNarrativeDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "stringItemType" }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).", "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Basis of Presentation and Significant Accounting Policies" } } }, "localname": "BasisOfAccountingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r84" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity.", "label": "Basis of Presentation and Significant Accounting Policies [Text Block]", "terseLabel": "Summary of Significant Accounting Policies" } } }, "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/SummaryofSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization": { "auth_ref": [ "r774" ], "calculation": { "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetCapitalizedComputerSoftwareDetails": { "order": 2.0, "parentTag": "us-gaap_CapitalizedComputerSoftwareNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "For each balance sheet presented, the amount of accumulated amortization for capitalized computer software costs.", "label": "Capitalized Computer Software, Accumulated Amortization", "negatedTerseLabel": "Less: Accumulated amortization" } } }, "localname": "CapitalizedComputerSoftwareAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetCapitalizedComputerSoftwareDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalizedComputerSoftwareAdditions": { "auth_ref": [ "r46" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Additions made to capitalized computer software costs during the period.", "label": "Capitalized Computer Software, Additions", "verboseLabel": "Capitalized software development costs" } } }, "localname": "CapitalizedComputerSoftwareAdditions", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalizedComputerSoftwareAmortization1": { "auth_ref": [ "r8", "r105" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for amortization of capitalized computer software costs.", "label": "Capitalized Computer Software, Amortization", "verboseLabel": "Amortization expense" } } }, "localname": "CapitalizedComputerSoftwareAmortization1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalizedComputerSoftwareGross": { "auth_ref": [ "r774" ], "calculation": { "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetCapitalizedComputerSoftwareDetails": { "order": 1.0, "parentTag": "us-gaap_CapitalizedComputerSoftwareNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated amortization of capitalized costs for computer software, including but not limited to, acquired and internally developed computer software.", "label": "Capitalized Computer Software, Gross", "terseLabel": "Capitalized software development costs, gross" } } }, "localname": "CapitalizedComputerSoftwareGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetCapitalizedComputerSoftwareDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalizedComputerSoftwareNet": { "auth_ref": [ "r556" ], "calculation": { "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetCapitalizedComputerSoftwareDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 7.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The carrying amount of capitalized computer software costs net of accumulated amortization as of the balance sheet date.", "label": "Capitalized Computer Software, Net", "terseLabel": "Capitalized software development costs, net", "totalLabel": "Capitalized software development costs, net" } } }, "localname": "CapitalizedComputerSoftwareNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetCapitalizedComputerSoftwareDetails", "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails", "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalizedComputerSoftwareNetAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Capitalized Computer Software, Net [Abstract]", "terseLabel": "Years Ending December 31," } } }, "localname": "CapitalizedComputerSoftwareNetAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r32", "r125", "r558" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and cash equivalents", "verboseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets", "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, at Carrying Value [Abstract]", "terseLabel": "Cash, cash equivalents and restricted cash" } } }, "localname": "CashAndCashEquivalentsAtCarryingValueAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsAxis": { "auth_ref": [ "r125" ], "lang": { "en-us": { "role": { "documentation": "Information by type of cash and cash equivalent balance.", "label": "Cash and Cash Equivalents [Axis]", "terseLabel": "Cash and Cash Equivalents [Axis]" } } }, "localname": "CashAndCashEquivalentsAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "auth_ref": [], "calculation": { "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails": { "order": 1.0, "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash and Cash Equivalents, Fair Value Disclosure", "verboseLabel": "Cash equivalents:" } } }, "localname": "CashAndCashEquivalentsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r32", "r81", "r152" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents", "periodEndLabel": "End of period", "periodStartLabel": "Beginning of period", "totalLabel": "Total cash, cash equivalents and restricted cash" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents [Abstract]", "terseLabel": "Reconciliation of cash, cash equivalents and restricted cash [Abstract]" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r1", "r81" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Net decrease in cash, cash equivalents and restricted cash" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ClassOfStockDomain": { "auth_ref": [ "r119", "r130", "r131", "r132", "r153", "r170", "r171", "r173", "r175", "r178", "r179", "r233", "r259", "r261", "r262", "r263", "r266", "r267", "r270", "r271", "r272", "r273", "r275", "r381", "r473", "r474", "r475", "r476", "r479", "r480", "r481", "r482", "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r501", "r522", "r540", "r548", "r549", "r550", "r551", "r552", "r671", "r694", "r699" ], "lang": { "en-us": { "role": { "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock.", "label": "Class of Stock [Domain]", "terseLabel": "Class of Stock [Domain]" } } }, "localname": "ClassOfStockDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets", "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity", "http://www.appfolio.com/role/CoverPage", "http://www.appfolio.com/role/StockBasedCompensationNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r23", "r63", "r446", "r500" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.", "label": "Commitments and Contingencies", "terseLabel": "Commitments and contingencies (Note 8)" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Abstract]", "terseLabel": "Commitments and Contingencies Disclosure [Abstract]" } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r90", "r253", "r254", "r553", "r714" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for commitments and contingencies.", "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "Commitments and Contingencies" } } }, "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CommitmentsandContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonClassAMember": { "auth_ref": [ "r772" ], "lang": { "en-us": { "role": { "documentation": "Classification of common stock representing ownership interest in a corporation.", "label": "Common Class A [Member]", "terseLabel": "Class A common stock" } } }, "localname": "CommonClassAMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets", "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity", "http://www.appfolio.com/role/CoverPage", "http://www.appfolio.com/role/StockBasedCompensationNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CommonClassBMember": { "auth_ref": [ "r772" ], "lang": { "en-us": { "role": { "documentation": "Classification of common stock that has different rights than Common Class A, representing ownership interest in a corporation.", "label": "Common Class B [Member]", "terseLabel": "Class B common stock" } } }, "localname": "CommonClassBMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets", "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity", "http://www.appfolio.com/role/CoverPage" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r585", "r586", "r587", "r589", "r590", "r591", "r592", "r696", "r697", "r749", "r770", "r772" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]", "terseLabel": "Common Stock" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r10", "r67", "r501", "r519", "r772", "r773" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.", "label": "Common Stock, Shares, Outstanding", "periodEndLabel": "Ending balance (in shares)", "periodStartLabel": "Beginning balance (in shares)" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r67", "r447", "r582" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Common Stock, Value, Issued", "terseLabel": "Common stock" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CompensationRelatedCostsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Compensation Related Costs [Abstract]" } } }, "localname": "CompensationRelatedCostsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_CompensationRelatedCostsGeneralTextBlock": { "auth_ref": [ "r292", "r293" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for compensation costs, including compensated absences accruals, compensated absences liability, deferred compensation arrangements and income statement compensation items. Deferred compensation arrangements may include a description of an arrangement with an individual employee, which is generally an employment contract between the entity and a selected officer or key employee containing a promise by the employer to pay certain amounts at designated future dates, usually including a period after retirement, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Disclosure also typically includes the amount of related compensation expense recognized during the reporting period, the number of shares (units) issued during the period under such arrangements, and the carrying amount as of the balance sheet date of the related liability.", "label": "Compensation Related Costs, General [Text Block]", "terseLabel": "Accrued Employee Expenses" } } }, "localname": "CompensationRelatedCostsGeneralTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/AccruedEmployeeExpenses" ], "xbrltype": "textBlockItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r28", "r139", "r141", "r146", "r438", "r456" ], "calculation": { "http://www.appfolio.com/role/ConsolidatedStatementsofComprehensiveLoss": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Comprehensive loss" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/ConsolidatedStatementsofComprehensiveLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r277", "r278", "r289" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.", "label": "Contract with Customer, Liability, Current", "terseLabel": "Deferred revenue" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/RevenueandOtherInformationAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [ "r290" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.", "label": "Contract with Customer, Liability, Revenue Recognized", "terseLabel": "Revenue recognized from deferred revenue" } } }, "localname": "ContractWithCustomerLiabilityRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/RevenueandOtherInformationAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ConversionOfStockSharesConverted1": { "auth_ref": [ "r33", "r34", "r35" ], "lang": { "en-us": { "role": { "documentation": "The number of shares converted in a noncash (or part noncash) transaction. Noncash is defined as transactions during a period that do not result in cash receipts or cash payments in the period. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.", "label": "Conversion of Stock, Shares Converted", "negatedTerseLabel": "Conversion of Class B common stock to Class A common stock (in shares)" } } }, "localname": "ConversionOfStockSharesConverted1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_CorporateBondSecuritiesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This category includes information about long-term debt securities that are issued by either a domestic or foreign corporate business entity with a date certain promise of repayment and a return to the holder for the time value of money (for example, variable or fixed interest, original issue discount).", "label": "Corporate Bond Securities [Member]", "netLabel": "Corporate bonds", "terseLabel": "Corporate bonds", "verboseLabel": "Corporate bonds" } } }, "localname": "CorporateBondSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails", "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails", "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CostOfGoodsAndServiceExcludingDepreciationDepletionAndAmortization": { "auth_ref": [ "r675", "r676" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations": { "order": 4.0, "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Cost of product sold and service rendered, excluding depreciation, depletion, and amortization.", "label": "Cost of Goods and Service, Excluding Depreciation, Depletion, and Amortization", "terseLabel": "Cost of revenue (exclusive of depreciation and amortization)" } } }, "localname": "CostOfGoodsAndServiceExcludingDepreciationDepletionAndAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfGoodsAndServicesSoldDepreciationAndAmortization": { "auth_ref": [ "r690" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for allocation of cost of tangible and intangible assets over their useful lives directly used in production of good and rendering of service.", "label": "Cost, Depreciation and Amortization", "terseLabel": "Depreciation and amortization" } } }, "localname": "CostOfGoodsAndServicesSoldDepreciationAndAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfSalesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing cost of sales.", "label": "Cost of Sales [Member]", "terseLabel": "Cost of revenue (exclusive of depreciation and amortization)" } } }, "localname": "CostOfSalesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsParenthetical" ], "xbrltype": "domainItemType" }, "us-gaap_CostsAndExpenses": { "auth_ref": [ "r77" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Total costs of sales and operating expenses for the period.", "label": "Costs and Expenses", "totalLabel": "Total costs and operating expenses" } } }, "localname": "CostsAndExpenses", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostsAndExpensesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Costs and Expenses [Abstract]", "terseLabel": "Costs and operating expenses:" } } }, "localname": "CostsAndExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "stringItemType" }, "us-gaap_CustomerRelationshipsMember": { "auth_ref": [ "r61" ], "lang": { "en-us": { "role": { "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.", "label": "Customer Relationships [Member]", "terseLabel": "Customer relationships" } } }, "localname": "CustomerRelationshipsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostAllowanceForCreditLossExcludingAccruedInterest": { "auth_ref": [ "r241" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount excluding accrued interest, of allowance for credit loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale, Allowance for Credit Loss, Excluding Accrued Interest", "terseLabel": "Debt securities, available-for-sale, allowance for credit loss, excluding accrued Interest" } } }, "localname": "DebtSecuritiesAvailableForSaleAmortizedCostAllowanceForCreditLossExcludingAccruedInterest", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLoss": { "auth_ref": [ "r710" ], "calculation": { "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amortized cost excluding accrued interest, after allowance for credit loss, of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale, Amortized Cost, Excluding Accrued Interest, after Allowance for Credit Loss", "totalLabel": "Amortized Cost" } } }, "localname": "DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails", "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleExcludingAccruedInterest": { "auth_ref": [ "r710" ], "calculation": { "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails": { "order": 2.0, "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0 }, "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails": { "order": 3.0, "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLoss", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount excluding accrued interest, of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale, Excluding Accrued Interest", "terseLabel": "Available-for-sale investment securities:", "totalLabel": "Estimated Fair Value" } } }, "localname": "DebtSecuritiesAvailableForSaleExcludingAccruedInterest", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails", "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails", "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleExcludingAccruedInterestCurrent": { "auth_ref": [ "r710" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount excluding accrued interest, of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.", "label": "Debt Securities, Available-for-Sale, Excluding Accrued Interest, Current", "terseLabel": "Investment securities\u2014current" } } }, "localname": "DebtSecuritiesAvailableForSaleExcludingAccruedInterestCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleExcludingAccruedInterestNoncurrent": { "auth_ref": [ "r710" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount excluding accrued interest, of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent.", "label": "Debt Securities, Available-for-Sale, Excluding Accrued Interest, Noncurrent", "terseLabel": "Investment securities\u2014noncurrent" } } }, "localname": "DebtSecuritiesAvailableForSaleExcludingAccruedInterestNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleRealizedGain": { "auth_ref": [ "r231" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of realized gain on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale, Realized Gain", "terseLabel": "Gross Realized Gains" } } }, "localname": "DebtSecuritiesAvailableForSaleRealizedGain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss": { "auth_ref": [ "r231" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of realized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale, Realized Loss", "negatedTerseLabel": "Gross Realized Losses" } } }, "localname": "DebtSecuritiesAvailableForSaleRealizedLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleTable": { "auth_ref": [ "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r209", "r210", "r211", "r212" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale [Table]", "terseLabel": "Schedule of Available-for-sale Securities [Table]" } } }, "localname": "DebtSecuritiesAvailableForSaleTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails", "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DeferredIncomeTaxesAndTaxCredits": { "auth_ref": [ "r83" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income tax expense (benefit) and income tax credits.", "label": "Deferred Income Taxes and Tax Credits", "terseLabel": "Deferred income taxes" } } }, "localname": "DeferredIncomeTaxesAndTaxCredits", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationDepletionAndAmortization": { "auth_ref": [ "r6", "r183" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.", "label": "Depreciation, Depletion and Amortization", "terseLabel": "Depreciation and amortization" } } }, "localname": "DepreciationDepletionAndAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DisaggregationOfRevenueLineItems": { "auth_ref": [ "r288", "r569", "r570", "r571", "r572", "r573", "r574", "r575" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation of Revenue [Line Items]" } } }, "localname": "DisaggregationOfRevenueLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/RevenueandOtherInformationAdditionalInformationDetails", "http://www.appfolio.com/role/RevenueandOtherInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r288", "r569", "r570", "r571", "r572", "r573", "r574", "r575" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table]", "terseLabel": "Disaggregation of Revenue [Table]" } } }, "localname": "DisaggregationOfRevenueTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/RevenueandOtherInformationAdditionalInformationDetails", "http://www.appfolio.com/role/RevenueandOtherInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r720" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Schedule of Product Information by Revenue Categories" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/RevenueandOtherInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "auth_ref": [ "r302", "r306", "r335", "r336", "r338", "r580" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for share-based payment arrangement.", "label": "Share-Based Payment Arrangement [Text Block]", "terseLabel": "Stock-Based Compensation" } } }, "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensation" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement [Abstract]", "terseLabel": "Share-based Payment Arrangement [Abstract]" } } }, "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r147", "r160", "r161", "r162", "r163", "r164", "r168", "r170", "r173", "r174", "r175", "r176", "r370", "r371", "r439", "r457", "r560" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.", "label": "Earnings Per Share, Basic", "terseLabel": "Net loss per common share, basic (in dollars per share)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r147", "r160", "r161", "r162", "r163", "r164", "r170", "r173", "r174", "r175", "r176", "r370", "r371", "r439", "r457", "r560" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.", "label": "Earnings Per Share, Diluted", "terseLabel": "Net loss per common share, diluted (in dollars per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerSharePolicyTextBlock": { "auth_ref": [ "r39", "r40" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.", "label": "Earnings Per Share, Policy [Policy Text Block]", "terseLabel": "Net Loss per Common Share" } } }, "localname": "EarningsPerSharePolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r347" ], "lang": { "en-us": { "role": { "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Effective Income Tax Rate Reconciliation, Percent", "terseLabel": "Effective income tax rate, percent" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/IncomeTaxesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "auth_ref": [ "r20" ], "calculation": { "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Employee-related Liabilities, Current", "terseLabel": "Accrued employee expenses", "totalLabel": "Total accrued employee expenses" } } }, "localname": "EmployeeRelatedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails", "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount": { "auth_ref": [ "r334" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost capitalized for award under share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Amount Capitalized", "terseLabel": "Stock-based compensation capitalized for software development" } } }, "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "auth_ref": [ "r337" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition", "terseLabel": "Stock-based compensation expense, weighted average recognition period" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationNarrativeDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": { "auth_ref": [ "r748" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount", "terseLabel": "Remaining stock-based compensation expense for unvested shares, not yet recognized" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions": { "auth_ref": [ "r748" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost to be recognized for option under share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount", "terseLabel": "Remaining stock-based compensation expense for unvested options, not yet recognized" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeStockOptionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.", "label": "Employee Stock Option [Member]", "terseLabel": "Stock Options" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationAssumptionsDetails", "http://www.appfolio.com/role/StockBasedCompensationNarrativeDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r10", "r121", "r142", "r143", "r144", "r155", "r156", "r157", "r159", "r165", "r167", "r177", "r234", "r235", "r276", "r339", "r340", "r341", "r351", "r352", "r362", "r363", "r364", "r365", "r366", "r367", "r369", "r382", "r384", "r385", "r386", "r387", "r388", "r401", "r466", "r467", "r468", "r479", "r540" ], "lang": { "en-us": { "role": { "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.", "label": "Equity Component [Domain]", "terseLabel": "Equity Component [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "auth_ref": [ "r373", "r374", "r377" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "terseLabel": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "auth_ref": [ "r373", "r374", "r377" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.", "label": "Fair Value, Recurring and Nonrecurring [Table]", "terseLabel": "Fair Value, Recurring and Nonrecurring [Table]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": { "auth_ref": [ "r62", "r95" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).", "label": "Fair Value, Assets Measured on Recurring Basis [Table Text Block]", "terseLabel": "Fair Value, Assets Measured on Recurring Basis" } } }, "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r268", "r295", "r296", "r297", "r298", "r299", "r300", "r374", "r405", "r406", "r407", "r566", "r567", "r576", "r577", "r578" ], "lang": { "en-us": { "role": { "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.", "label": "Fair Value Hierarchy and NAV [Axis]", "terseLabel": "Fair Value Hierarchy and NAV [Axis]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r373", "r374", "r375", "r376", "r378" ], "lang": { "en-us": { "role": { "documentation": "Information by measurement frequency.", "label": "Measurement Frequency [Axis]", "terseLabel": "Measurement Frequency [Axis]" } } }, "localname": "FairValueByMeasurementFrequencyAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Abstract]", "terseLabel": "Fair Value Disclosures [Abstract]" } } }, "localname": "FairValueDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r268", "r295", "r300", "r374", "r405", "r576", "r577", "r578" ], "lang": { "en-us": { "role": { "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.", "label": "Fair Value, Inputs, Level 1 [Member]", "terseLabel": "Level\u00a01" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r268", "r295", "r300", "r374", "r406", "r566", "r567", "r576", "r577", "r578" ], "lang": { "en-us": { "role": { "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.", "label": "Fair Value, Inputs, Level 2 [Member]", "terseLabel": "Level\u00a02" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementFrequencyDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement frequency.", "label": "Measurement Frequency [Domain]", "terseLabel": "Measurement Frequency [Domain]" } } }, "localname": "FairValueMeasurementFrequencyDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r268", "r295", "r296", "r297", "r298", "r299", "r300", "r405", "r406", "r407", "r566", "r567", "r576", "r577", "r578" ], "lang": { "en-us": { "role": { "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.", "label": "Fair Value Hierarchy and NAV [Domain]", "terseLabel": "Fair Value Hierarchy and NAV [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r372", "r378" ], "lang": { "en-us": { "role": { "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value.", "label": "Fair Value, Recurring [Member]", "terseLabel": "Fair value, recurring measurements" } } }, "localname": "FairValueMeasurementsRecurringMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FinancialInstrumentAxis": { "auth_ref": [ "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r209", "r210", "r211", "r212", "r213", "r214", "r215", "r216", "r217", "r218", "r219", "r220", "r221", "r222", "r223", "r224", "r225", "r226", "r227", "r228", "r229", "r230", "r236", "r237", "r238", "r239", "r240", "r242", "r243", "r244", "r269", "r274", "r368", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427", "r428", "r429", "r430", "r431", "r455", "r564", "r677", "r678", "r679", "r680", "r681", "r682", "r683", "r705", "r706", "r707", "r708" ], "lang": { "en-us": { "role": { "documentation": "Information by type of financial instrument.", "label": "Financial Instrument [Axis]", "terseLabel": "Financial Instrument [Axis]" } } }, "localname": "FinancialInstrumentAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails", "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails", "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Finite-Lived Intangible Asset, Useful Life", "terseLabel": "Weighted Average\u00a0Useful Life in Years" } } }, "localname": "FiniteLivedIntangibleAssetUsefulLife", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r127", "r248" ], "calculation": { "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "negatedTerseLabel": "Accumulated Amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "auth_ref": [ "r88" ], "calculation": { "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails": { "order": 5.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One", "terseLabel": "2024" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "auth_ref": [], "calculation": { "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year.", "label": "Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year", "terseLabel": "2023" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r88" ], "calculation": { "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails": { "order": 4.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four", "terseLabel": "2027" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r88" ], "calculation": { "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails": { "order": 3.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three", "terseLabel": "2026" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r88" ], "calculation": { "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two", "terseLabel": "2025" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r246", "r247", "r248", "r249", "r434", "r435" ], "lang": { "en-us": { "role": { "documentation": "Information by major type or class of finite-lived intangible assets.", "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]" } } }, "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]", "terseLabel": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]" } } }, "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r87", "r435" ], "calculation": { "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Gross\u00a0Carrying Value" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "auth_ref": [ "r434" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Finite-Lived Intangible Assets [Line Items]", "terseLabel": "Finite-Lived Intangible Assets [Line Items]" } } }, "localname": "FiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r46", "r48" ], "lang": { "en-us": { "role": { "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]" } } }, "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r87", "r434" ], "calculation": { "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Net", "totalLabel": "Net\u00a0Carrying Value" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails", "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralAndAdministrativeExpense": { "auth_ref": [ "r78", "r524" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations": { "order": 5.0, "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.", "label": "General and Administrative Expense", "terseLabel": "General and administrative" } } }, "localname": "GeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralAndAdministrativeExpenseMember": { "auth_ref": [ "r76" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing general and administrative expense.", "label": "General and Administrative Expense [Member]", "terseLabel": "General and administrative" } } }, "localname": "GeneralAndAdministrativeExpenseMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsParenthetical" ], "xbrltype": "domainItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r126", "r245", "r436", "r565", "r582", "r711", "r712" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill", "terseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Abstract]", "terseLabel": "Goodwill and Intangible Assets Disclosure [Abstract]" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r86" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for goodwill and intangible assets.", "label": "Goodwill and Intangible Assets Disclosure [Text Block]", "terseLabel": "Intangible Assets, net" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnet" ], "xbrltype": "textBlockItemType" }, "us-gaap_ImpairmentExcludingLessorAssetUnderOperatingLease": { "auth_ref": [ "r250", "r400" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, excluding lessor's underlying asset for which right to use has been conveyed to lessee under operating lease, of impairment for long-lived asset held for use.", "label": "Impairment, Excluding Lessor Asset under Operating Lease", "terseLabel": "Impairment of leased office property and equipment" } } }, "localname": "ImpairmentExcludingLessorAssetUnderOperatingLease", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/LeasesAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ImpairmentLessorAssetUnderOperatingLease": { "auth_ref": [ "r250", "r400" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of impairment for lessor's underlying asset for which right to use has been conveyed to lessee under operating lease.", "label": "Impairment, Lessor Asset under Operating Lease", "terseLabel": "Impairment, related to ROU assets" } } }, "localname": "ImpairmentLessorAssetUnderOperatingLease", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/LeasesAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ImpairmentOfLongLivedAssetsHeldForUse": { "auth_ref": [ "r6", "r50", "r89" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate amount of write-downs for impairments recognized during the period for long lived assets held for use (including those held for disposal by means other than sale).", "label": "Impairment, Long-Lived Asset, Held-for-Use", "terseLabel": "Impairment, long-lived asset, held-for-use" } } }, "localname": "ImpairmentOfLongLivedAssetsHeldForUse", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/LeasesAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r0", "r74", "r100", "r180", "r186", "r190", "r192", "r440", "r452", "r562" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.", "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "totalLabel": "Income (loss) before provision for income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Statement [Abstract]", "terseLabel": "Income Statement [Abstract]" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r251", "r252", "r525" ], "lang": { "en-us": { "role": { "documentation": "Information by location in the income statement.", "label": "Income Statement Location [Axis]", "terseLabel": "Income Statement Location [Axis]" } } }, "localname": "IncomeStatementLocationAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsParenthetical" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [ "r252", "r525" ], "lang": { "en-us": { "role": { "documentation": "Location in the income statement.", "label": "Income Statement Location [Domain]", "terseLabel": "Income Statement Location [Domain]" } } }, "localname": "IncomeStatementLocationDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsParenthetical" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Abstract]", "terseLabel": "Income Tax Disclosure [Abstract]" } } }, "localname": "IncomeTaxDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r154", "r345", "r348", "r349", "r350", "r353", "r355", "r356", "r357", "r478" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.", "label": "Income Tax Disclosure [Text Block]", "terseLabel": "Income Taxes" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/IncomeTaxes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r107", "r116", "r166", "r167", "r184", "r346", "r354", "r458" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Income Tax Expense (Benefit)", "terseLabel": "Provision for (benefit from) income taxes", "verboseLabel": "Income tax expense (benefit)" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations", "http://www.appfolio.com/role/IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r5" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.", "label": "Increase (Decrease) in Accounts Payable", "terseLabel": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r5" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 17.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.", "label": "Increase (Decrease) in Accounts Receivable", "negatedTerseLabel": "Accounts receivable" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": { "auth_ref": [ "r5" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.", "label": "Increase (Decrease) in Income Taxes Payable", "terseLabel": "Taxes payable" } } }, "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": { "auth_ref": [ "r5" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 15.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits.", "label": "Increase (Decrease) in Employee Related Liabilities", "terseLabel": "Accrued employee expenses" } } }, "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in operating assets and liabilities:" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": { "auth_ref": [ "r673", "r691" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 16.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in obligation for operating lease.", "label": "Increase (Decrease) in Operating Lease Liability", "terseLabel": "Operating lease liabilities" } } }, "localname": "IncreaseDecreaseInOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherAccruedLiabilities": { "auth_ref": [ "r5" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in other expenses incurred but not yet paid.", "label": "Increase (Decrease) in Other Accrued Liabilities", "terseLabel": "Accrued expenses" } } }, "localname": "IncreaseDecreaseInOtherAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingAssets": { "auth_ref": [ "r5" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in operating assets classified as other.", "label": "Increase (Decrease) in Other Operating Assets", "negatedTerseLabel": "Other assets" } } }, "localname": "IncreaseDecreaseInOtherOperatingAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": { "auth_ref": [ "r5" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 14.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in operating liabilities classified as other.", "label": "Increase (Decrease) in Other Operating Liabilities", "terseLabel": "Other liabilities" } } }, "localname": "IncreaseDecreaseInOtherOperatingLiabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r5" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedTerseLabel": "Prepaid expenses and other current assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "terseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]" } } }, "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "auth_ref": [ "r44", "r47" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 8.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.", "label": "Intangible Assets, Net (Excluding Goodwill)", "terseLabel": "Intangible assets, net" } } }, "localname": "IntangibleAssetsNetExcludingGoodwill", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestIncomeExpenseNet": { "auth_ref": [ "r102" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net amount of operating interest income (expense).", "label": "Interest Income (Expense), Net", "terseLabel": "Interest income, net" } } }, "localname": "InterestIncomeExpenseNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_InternetDomainNamesMember": { "auth_ref": [ "r59" ], "lang": { "en-us": { "role": { "documentation": "String of typographic characters used to describe the location of a specific individual, business, computer, or piece of information online. Formally known as the Uniform Resource Locator or URL, it is often considered to be the address of a certain World Wide Web site.", "label": "Internet Domain Names [Member]", "terseLabel": "Domain names" } } }, "localname": "InternetDomainNamesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of maturities of an entity's investments as well as any other information pertinent to the investments.", "label": "Investments Classified by Contractual Maturity Date [Table Text Block]", "terseLabel": "Available-for-sale Investments, by Remaining Contract Maturity" } } }, "localname": "InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock": { "auth_ref": [ "r96", "r103", "r104", "r120", "r198", "r200", "r379", "r380" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for investments in certain debt and equity securities.", "label": "Investments in Debt and Marketable Equity Securities (and Certain Trading Assets) Disclosure [Text Block]", "terseLabel": "Investment Securities and Fair Value Measurements" } } }, "localname": "InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurements" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeaseCost": { "auth_ref": [ "r395", "r581" ], "calculation": { "http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseExpenseDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lease cost recognized by lessee for lease contract.", "label": "Lease, Cost", "totalLabel": "Total lease cost" } } }, "localname": "LeaseCost", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseCostTableTextBlock": { "auth_ref": [ "r752" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.", "label": "Lease, Cost [Table Text Block]", "terseLabel": "Schedule of Components of Lease Expense" } } }, "localname": "LeaseCostTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeasesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Leases [Abstract]", "terseLabel": "Leases [Abstract]" } } }, "localname": "LeasesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_LesseeLeaseDescriptionLineItems": { "auth_ref": [ "r394" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Lessee, Lease, Description [Line Items]", "terseLabel": "Lessee, Lease, Description [Line Items]" } } }, "localname": "LesseeLeaseDescriptionLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/LeasesAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeLeaseDescriptionTable": { "auth_ref": [ "r394" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about lessee's leases.", "label": "Lessee, Lease, Description [Table]", "terseLabel": "Lessee, Lease, Description [Table]" } } }, "localname": "LesseeLeaseDescriptionTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/LeasesAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r753" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.", "label": "Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]", "terseLabel": "Schedule of Minimum Lease Payments Under Leases" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r399" ], "calculation": { "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails_1": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.", "label": "Lessee, Operating Lease, Liability, to be Paid", "totalLabel": "Total future minimum lease payments" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r399" ], "calculation": { "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails_1": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four", "terseLabel": "2027" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r399" ], "calculation": { "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails_1": { "order": 3.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three", "terseLabel": "2026" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r399" ], "calculation": { "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails_1": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two", "terseLabel": "2025" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r399" ], "calculation": { "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.", "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "negatedLabel": "Less: imputed interest" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseTermOfContract": { "auth_ref": [ "r751" ], "lang": { "en-us": { "role": { "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessee, Operating Lease, Term of Contract", "terseLabel": "Lease term" } } }, "localname": "LesseeOperatingLeaseTermOfContract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/LeasesAdditionalInformationDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LesseeOperatingLeasesTextBlock": { "auth_ref": [ "r389" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.", "label": "Lessee, Operating Leases [Text Block]", "terseLabel": "Leases" } } }, "localname": "LesseeOperatingLeasesTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/Leases" ], "xbrltype": "textBlockItemType" }, "us-gaap_LessorOperatingLeaseRenewalTerm": { "auth_ref": [ "r754" ], "lang": { "en-us": { "role": { "documentation": "Term of lessor's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessor, Operating Lease, Renewal Term", "terseLabel": "Lease renewal term" } } }, "localname": "LessorOperatingLeaseRenewalTerm", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/LeasesAdditionalInformationDetails" ], "xbrltype": "durationItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r19", "r153", "r233", "r259", "r260", "r261", "r262", "r263", "r264", "r265", "r266", "r267", "r359", "r360", "r361", "r381", "r499", "r561", "r594", "r717", "r755", "r756" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.", "label": "Liabilities", "totalLabel": "Total liabilities" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r72", "r99", "r450", "r582", "r695", "r709", "r750" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders\u2019 equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "Liabilities and Stockholders\u2019 Equity" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r21", "r124", "r153", "r233", "r259", "r260", "r261", "r262", "r263", "r264", "r265", "r266", "r267", "r359", "r360", "r361", "r381", "r582", "r717", "r755", "r756" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.", "label": "Liabilities, Current", "totalLabel": "Total current liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability": { "auth_ref": [ "r767", "r768" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount needed to reflect the estimated ultimate cost of settling claims relating to casualty insurance insured events that have occurred on or before a particular date (ordinarily, the balance sheet date) and the amount needed to provide for the estimated ultimate cost required to investigate and settle claims relating to insured events that have occurred on or before a particular date (ordinarily, the balance sheet date), whether or not reported to the insurer at that date.", "label": "Liability for Claims and Claims Adjustment Expense, Property-Casualty Liability", "terseLabel": "Liability for reported claims and claims incurred but not reported" } } }, "localname": "LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CommitmentsandContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_MoneyMarketFundsMember": { "auth_ref": [ "r721" ], "lang": { "en-us": { "role": { "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities.", "label": "Money Market Funds [Member]", "terseLabel": "Money market funds" } } }, "localname": "MoneyMarketFundsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NatureOfOperations": { "auth_ref": [ "r109", "r117" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.", "label": "Nature of Operations [Text Block]", "terseLabel": "Nature of Business" } } }, "localname": "NatureOfOperations", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/NatureofBusiness" ], "xbrltype": "textBlockItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r151" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash used in financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "terseLabel": "Cash from financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r151" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.", "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash used in investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "terseLabel": "Cash from investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r81", "r82", "r83" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.", "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net cash (used in) provided by operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Cash from operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r75", "r83", "r101", "r122", "r137", "r140", "r144", "r153", "r158", "r160", "r161", "r162", "r163", "r166", "r167", "r172", "r180", "r186", "r190", "r192", "r233", "r259", "r260", "r261", "r262", "r263", "r264", "r265", "r266", "r267", "r371", "r381", "r453", "r521", "r538", "r539", "r562", "r593", "r717" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.appfolio.com/role/ConsolidatedStatementsofComprehensiveLoss": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss)", "terseLabel": "Net loss", "totalLabel": "Net loss", "verboseLabel": "Net (loss) income" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows", "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations", "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity", "http://www.appfolio.com/role/ConsolidatedStatementsofComprehensiveLoss", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "Recent Accounting Pronouncements Adopted" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NoncompeteAgreementsMember": { "auth_ref": [ "r60" ], "lang": { "en-us": { "role": { "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party.", "label": "Noncompete Agreements [Member]", "terseLabel": "Non-compete agreements" } } }, "localname": "NoncompeteAgreementsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock": { "auth_ref": [ "r16" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the changes in outstanding nonvested restricted stock shares.", "label": "Nonvested Restricted Stock Shares Activity [Table Text Block]", "terseLabel": "Schedule of Restricted Stock Awards Activity" } } }, "localname": "NonvestedRestrictedStockSharesActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r180", "r186", "r190", "r192", "r562" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net result for the period of deducting operating expenses from operating revenues.", "label": "Operating Income (Loss)", "totalLabel": "Loss from operations" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseCost": { "auth_ref": [ "r396", "r581" ], "calculation": { "http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseExpenseDetails": { "order": 2.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.", "label": "Operating Lease, Cost", "terseLabel": "Operating lease cost" } } }, "localname": "OperatingLeaseCost", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract]", "terseLabel": "Years ending December 31," } } }, "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r391" ], "calculation": { "http://www.appfolio.com/role/LeasesLeaseRelatedAssetsandLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.", "label": "Operating Lease, Liability", "terseLabel": "Total", "totalLabel": "Total lease liabilities" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/LeasesLeaseRelatedAssetsandLiabilitiesDetails", "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r391" ], "calculation": { "http://www.appfolio.com/role/LeasesLeaseRelatedAssetsandLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.", "label": "Operating Lease, Liability, Current", "verboseLabel": "Other current liabilities" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/LeasesLeaseRelatedAssetsandLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": { "auth_ref": [ "r392" ], "lang": { "en-us": { "role": { "documentation": "Indicates line item in statement of financial position that includes current operating lease liability.", "label": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]", "terseLabel": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]" } } }, "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/LeasesLeaseRelatedAssetsandLiabilitiesDetails" ], "xbrltype": "enumerationSetItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r391" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 }, "http://www.appfolio.com/role/LeasesLeaseRelatedAssetsandLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Operating Lease, Liability, Noncurrent", "netLabel": "Operating lease liabilities", "verboseLabel": "Operating lease liabilities" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets", "http://www.appfolio.com/role/LeasesLeaseRelatedAssetsandLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r393", "r398" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.", "label": "Operating Lease, Payments", "terseLabel": "Operating lease, payments" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/LeasesAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r390" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Operating lease right-of-use assets", "verboseLabel": "Operating lease right-of-use assets" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets", "http://www.appfolio.com/role/LeasesLeaseRelatedAssetsandLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": { "auth_ref": [ "r692" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease.", "label": "Operating Lease, Right-of-Use Asset, Periodic Reduction", "terseLabel": "Amortization of operating lease right-of-use assets" } } }, "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]", "terseLabel": "Organization, Consolidation and Presentation of Financial Statements [Abstract]" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r128" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other Assets, Noncurrent", "terseLabel": "Other long-term assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r10", "r17", "r138", "r141", "r145", "r382", "r383", "r388", "r437", "r454", "r687", "r688" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss).", "label": "Other Comprehensive Income (Loss), Net of Tax", "verboseLabel": "Other comprehensive loss" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]", "terseLabel": "Other comprehensive income (loss):" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/ConsolidatedStatementsofComprehensiveLoss" ], "xbrltype": "stringItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": { "auth_ref": [ "r135", "r136", "r232" ], "calculation": { "http://www.appfolio.com/role/ConsolidatedStatementsofComprehensiveLoss": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.", "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax", "terseLabel": "Changes in unrealized gains (losses) on investment securities" } } }, "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/ConsolidatedStatementsofComprehensiveLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesCurrent": { "auth_ref": [ "r20", "r582" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.", "label": "Other Liabilities, Current", "terseLabel": "Other current liabilities" } } }, "localname": "OtherLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r22" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.", "label": "Other Liabilities, Noncurrent", "terseLabel": "Other liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNoncashIncomeExpense": { "auth_ref": [ "r83" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other.", "label": "Other Noncash Income (Expense)", "negatedTerseLabel": "Other" } } }, "localname": "OtherNoncashIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r79" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations": { "order": 3.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.", "label": "Other Nonoperating Income (Expense)", "terseLabel": "Other (loss) income, net" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_PatentsMember": { "auth_ref": [ "r94" ], "lang": { "en-us": { "role": { "documentation": "Exclusive legal right granted by the government to the owner of the patent to exploit an invention or a process for a period of time specified by law.", "label": "Patents [Member]", "terseLabel": "Patents" } } }, "localname": "PatentsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PaymentsForPostemploymentBenefits": { "auth_ref": [ "r4" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Cash outflows for payments of postemployment benefits (such as severance pay and health insurance benefits) recognized during the period. Postemployment benefits are benefits paid to employees after employment but before retirement.", "label": "Payments for Postemployment Benefits", "terseLabel": "Severance payments" } } }, "localname": "PaymentsForPostemploymentBenefits", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/AccruedEmployeeExpensesAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [ "r150" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Payment, Tax Withholding, Share-Based Payment Arrangement", "negatedTerseLabel": "Tax withholding for net share settlement" } } }, "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt": { "auth_ref": [ "r31", "r148", "r199" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to acquire investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Payments to Acquire Debt Securities, Available-for-Sale", "negatedTerseLabel": "Purchases of available-for-sale investments" } } }, "localname": "PaymentsToAcquireAvailableForSaleSecuritiesDebt", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r80" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.", "label": "Payments to Acquire Property, Plant, and Equipment", "negatedTerseLabel": "Purchases of property and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToDevelopSoftware": { "auth_ref": [ "r80" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the development or modification of software programs or applications for internal use (that is, not to be sold, leased or otherwise marketed to others) that qualify for capitalization.", "label": "Payments to Develop Software", "negatedTerseLabel": "Capitalization of software development costs" } } }, "localname": "PaymentsToDevelopSoftware", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r686" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.", "label": "Prepaid Expense and Other Assets, Current", "terseLabel": "Prepaid expenses and other current assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PriorPeriodReclassificationAdjustmentDescription": { "auth_ref": [ "r684" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for reclassification affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error.", "label": "Reclassification, Comparability Adjustment [Policy Text Block]", "terseLabel": "Reclassification" } } }, "localname": "PriorPeriodReclassificationAdjustmentDescription", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities": { "auth_ref": [ "r148", "r149", "r700" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from maturity, prepayment and call of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-Sale", "terseLabel": "Proceeds from maturities of available-for-sale investments", "verboseLabel": "Gross Proceeds from Maturities" } } }, "localname": "ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows", "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt": { "auth_ref": [ "r29", "r148", "r199", "r231" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from sale of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Proceeds from Sale of Debt Securities, Available-for-Sale", "terseLabel": "Proceeds from sales of available-for-sale investments", "verboseLabel": "Gross Proceeds from Sales" } } }, "localname": "ProceedsFromSaleOfAvailableForSaleSecuritiesDebt", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows", "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfEquityMethodInvestments": { "auth_ref": [ "r30" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow associated with the sale of equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence.", "label": "Proceeds from Sale of Equity Method Investments", "terseLabel": "Proceeds from sale of equity-method investment" } } }, "localname": "ProceedsFromSaleOfEquityMethodInvestments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockOptionsExercised": { "auth_ref": [ "r3", "r15" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.", "label": "Proceeds from Stock Options Exercised", "terseLabel": "Proceeds from stock option exercises" } } }, "localname": "ProceedsFromStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r7", "r444", "r451", "r582" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Net", "terseLabel": "Property and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage": { "auth_ref": [ "r765" ], "lang": { "en-us": { "role": { "documentation": "Percentage of risk undertaken originally by insurer ceded to reinsurer.", "label": "Reinsurance, Reinsured Risk, Percentage", "terseLabel": "Quota share of tenant liability insurance provided, percent" } } }, "localname": "ReinsuranceRetentionPolicyReinsuredRiskPercentage", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CommitmentsandContingenciesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ResearchAndDevelopmentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Research and Development [Abstract]", "terseLabel": "Research and Development [Abstract]" } } }, "localname": "ResearchAndDevelopmentAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r64", "r343", "r763" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations": { "order": 3.0, "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.", "label": "Research and Development Expense", "terseLabel": "Research and product development" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included.", "label": "Research and Development Expense [Member]", "terseLabel": "Research and product development" } } }, "localname": "ResearchAndDevelopmentExpenseMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsParenthetical" ], "xbrltype": "domainItemType" }, "us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock": { "auth_ref": [ "r106", "r344" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for research, development, and computer software activities, including contracts and arrangements to be performed for others and with federal government. Includes costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility and in-process research and development acquired in a business combination consummated during the period.", "label": "Research, Development, and Computer Software Disclosure [Text Block]", "terseLabel": "Capitalized Software Development Costs, net" } } }, "localname": "ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnet" ], "xbrltype": "textBlockItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": { "auth_ref": [ "r125" ], "lang": { "en-us": { "role": { "documentation": "Type of cash and cash equivalent. Cash is currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash and Cash Equivalents [Domain]", "terseLabel": "Cash and Cash Equivalents [Domain]" } } }, "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedCashNoncurrent": { "auth_ref": [ "r108", "r685", "r693" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits.", "label": "Restricted Cash, Noncurrent", "terseLabel": "Restricted cash included in other assets" } } }, "localname": "RestrictedCashNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedStockMember": { "auth_ref": [ "r39" ], "lang": { "en-us": { "role": { "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met.", "label": "Restricted Stock [Member]", "terseLabel": "Unvested RSAs", "verboseLabel": "Restricted Stock Awards" } } }, "localname": "RestrictedStockMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedStockUnitsRSUMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.", "label": "Restricted Stock Units (RSUs) [Member]", "terseLabel": "Restricted Stock Units" } } }, "localname": "RestrictedStockUnitsRSUMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r69", "r91", "r449", "r469", "r471", "r477", "r502", "r582" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated undistributed earnings (deficit).", "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Retained earnings" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r121", "r155", "r156", "r157", "r159", "r165", "r167", "r234", "r235", "r339", "r340", "r341", "r351", "r352", "r362", "r364", "r365", "r367", "r369", "r466", "r468", "r479", "r772" ], "lang": { "en-us": { "role": { "documentation": "Accumulated undistributed earnings (deficit).", "label": "Retained Earnings [Member]", "terseLabel": "Retained Earnings" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Abstract]" } } }, "localname": "RevenueFromContractWithCustomerAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r181", "r182", "r185", "r188", "r189", "r193", "r194", "r195", "r287", "r288", "r433" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Revenue", "verboseLabel": "Total revenue" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations", "http://www.appfolio.com/role/RevenueandOtherInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r118", "r279", "r280", "r281", "r282", "r283", "r284", "r285", "r286", "r291" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.", "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "Revenue and Other Information" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/RevenueandOtherInformation" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueRemainingPerformanceObligation": { "auth_ref": [ "r114" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.", "label": "Revenue, Remaining Performance Obligation, Amount", "terseLabel": "Remaining performance obligation, amount" } } }, "localname": "RevenueRemainingPerformanceObligation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/RevenueandOtherInformationAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "auth_ref": [ "r115" ], "lang": { "en-us": { "role": { "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period", "terseLabel": "Remaining performance obligation, expected timing of satisfaction, period" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/RevenueandOtherInformationAdditionalInformationDetails" ], "xbrltype": "durationItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "auth_ref": [ "r115" ], "lang": { "en-us": { "role": { "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/RevenueandOtherInformationAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationPercentage": { "auth_ref": [ "r672" ], "lang": { "en-us": { "role": { "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue.", "label": "Revenue, Remaining Performance Obligation, Percentage", "terseLabel": "Remaining performance obligation, percentage" } } }, "localname": "RevenueRemainingPerformanceObligationPercentage", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/RevenueandOtherInformationAdditionalInformationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems": { "auth_ref": [ "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r209", "r210", "r211", "r212" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Debt Securities, Available-for-Sale [Line Items]", "terseLabel": "Debt Securities, Available-for-sale [Line Items]" } } }, "localname": "ScheduleOfAvailableForSaleSecuritiesLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails", "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the reconciliation of available-for-sale securities from cost basis to fair value.", "label": "Schedule of Available-for-Sale Securities Reconciliation [Table Text Block]", "terseLabel": "Schedule of Available-for-sale Securities" } } }, "localname": "ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r46", "r48", "r434" ], "lang": { "en-us": { "role": { "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Schedule of Finite-Lived Intangible Assets [Table]", "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r46", "r48" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "terseLabel": "Schedule of Finite-Lived Intangible Assets" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock": { "auth_ref": [ "r55" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the changes in outstanding nonvested restricted stock units.", "label": "Schedule of Nonvested Restricted Stock Units Activity [Table Text Block]", "terseLabel": "Schedule of Restricted Stock Units Activity" } } }, "localname": "ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfRealizedGainLossTableTextBlock": { "auth_ref": [ "r705" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the proceeds from sales of available-for-sale securities and the gross realized gains and gross realized losses that have been included in earnings as a result of those sales.", "label": "Schedule of Realized Gain (Loss) [Table Text Block]", "terseLabel": "Schedule of Sales, Calls, and Maturities" } } }, "localname": "ScheduleOfRealizedGainLossTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "auth_ref": [ "r303", "r305", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317", "r318", "r319", "r320", "r321", "r322", "r323", "r324", "r325", "r326", "r327", "r328", "r329", "r330", "r331", "r332" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about share-based payment arrangement.", "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]", "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]" } } }, "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationAssumptionsDetails", "http://www.appfolio.com/role/StockBasedCompensationNarrativeDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "auth_ref": [ "r13", "r14", "r54" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.", "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]", "terseLabel": "Summary of Stock Option Activity" } } }, "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": { "auth_ref": [ "r93" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.", "label": "Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]", "terseLabel": "Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions" } } }, "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock": { "auth_ref": [ "r38" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit).", "label": "Schedule of Weighted Average Number of Shares [Table Text Block]", "terseLabel": "Schedule of Weighted Average Number of Shares" } } }, "localname": "ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [ "r48" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.", "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "terseLabel": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense" } } }, "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingAndMarketingExpense": { "auth_ref": [], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations": { "order": 1.0, "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services.", "label": "Selling and Marketing Expense", "terseLabel": "Sales and marketing" } } }, "localname": "SellingAndMarketingExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_SellingAndMarketingExpenseMember": { "auth_ref": [ "r76" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing selling and marketing expense.", "label": "Selling and Marketing Expense [Member]", "terseLabel": "Sales and marketing" } } }, "localname": "SellingAndMarketingExpenseMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsParenthetical" ], "xbrltype": "domainItemType" }, "us-gaap_SeveranceCosts1": { "auth_ref": [ "r6" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expenses for special or contractual termination benefits provided to current employees involuntarily terminated under a benefit arrangement associated exit or disposal activities pursuant to an authorized plan. Excludes expenses related to one-time termination benefits, a discontinued operation or an asset retirement obligation.", "label": "Severance Costs", "terseLabel": "Severance costs" } } }, "localname": "SeveranceCosts1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/AccruedEmployeeExpensesAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r5" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Noncash Expense", "terseLabel": "Stock-based compensation, including as amortized" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "auth_ref": [ "r580" ], "lang": { "en-us": { "role": { "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period", "terseLabel": "Vesting period" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "auth_ref": [ "r323" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "negatedTerseLabel": "Forfeited (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "auth_ref": [ "r323" ], "lang": { "en-us": { "role": { "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "terseLabel": "Forfeited (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "auth_ref": [ "r321" ], "lang": { "en-us": { "role": { "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period", "terseLabel": "Granted (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r321" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Granted (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "auth_ref": [ "r318", "r319" ], "lang": { "en-us": { "role": { "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "periodEndLabel": "Unvested, ending balance (in shares)", "periodStartLabel": "Unvested, beginning balance (in shares)", "terseLabel": "Share-based payment award, non-option equity instruments, nonvested (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]", "terseLabel": "Number\u00a0of Shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [ "r318", "r319" ], "lang": { "en-us": { "role": { "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "periodEndLabel": "Unvested, ending balance (in dollars per share)", "periodStartLabel": "Unvested, beginning balance (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]", "terseLabel": "Weighted Average Grant\u00a0Date Fair\u00a0Value\u00a0per\u00a0Share" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "auth_ref": [ "r322" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period", "negatedTerseLabel": "Vested (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r322" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Vested (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": { "auth_ref": [ "r330" ], "lang": { "en-us": { "role": { "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate", "terseLabel": "Expected dividend yield" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationAssumptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": { "auth_ref": [ "r329" ], "lang": { "en-us": { "role": { "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate", "terseLabel": "Expected volatility" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationAssumptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": { "auth_ref": [ "r331" ], "lang": { "en-us": { "role": { "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate", "terseLabel": "Risk-free interest rate" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationAssumptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "auth_ref": [ "r303", "r305", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317", "r318", "r319", "r320", "r321", "r322", "r323", "r324", "r325", "r326", "r327", "r328", "r329", "r330", "r331", "r332" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationAssumptionsDetails", "http://www.appfolio.com/role/StockBasedCompensationNarrativeDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber": { "auth_ref": [ "r11", "r12" ], "lang": { "en-us": { "role": { "documentation": "Number of equity instruments other than options outstanding, including both vested and non-vested instruments.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Outstanding, Number", "terseLabel": "Share-based payment award, non-option equity instruments, outstanding (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "auth_ref": [ "r314" ], "lang": { "en-us": { "role": { "documentation": "Gross number of share options (or share units) granted during the period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross", "terseLabel": "Options granted (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationNarrativeDetails", "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r324" ], "lang": { "en-us": { "role": { "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Grant date fair value (in USD per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationAssumptionsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r310", "r311" ], "lang": { "en-us": { "role": { "documentation": "Number of options outstanding, including both vested and non-vested options.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number", "periodEndLabel": "Options outstanding, ending balance (in shares)", "periodStartLabel": "Options outstanding, beginning balance (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]", "terseLabel": "Number\u00a0of Shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r310", "r311" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "periodEndLabel": "Options outstanding, ending balance (in dollars per share)", "periodStartLabel": "Options outstanding, beginning balance (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]", "terseLabel": "Weighted Average Exercise Price\u00a0per\u00a0Share" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317", "r318", "r319", "r320", "r321", "r322", "r323", "r324", "r325", "r326", "r327", "r328", "r329", "r330", "r331", "r332" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "Award Type [Domain]", "terseLabel": "Award Type [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationAssumptionsDetails", "http://www.appfolio.com/role/StockBasedCompensationNarrativeDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r315" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.", "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "terseLabel": "Options exercised (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r314" ], "lang": { "en-us": { "role": { "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.", "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price", "terseLabel": "Options granted (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationAwardTrancheOneMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "First portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.", "label": "Share-Based Payment Arrangement, Tranche One [Member]", "terseLabel": "Tranche one" } } }, "localname": "ShareBasedCompensationAwardTrancheOneMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationNarrativeDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationAwardTrancheThreeMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Third portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.", "label": "Share-Based Payment Arrangement, Tranche Three [Member]", "terseLabel": "Tranche three" } } }, "localname": "ShareBasedCompensationAwardTrancheThreeMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationNarrativeDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationAwardTrancheTwoMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Second portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.", "label": "Share-Based Payment Arrangement, Tranche Two [Member]", "terseLabel": "Tranche two", "verboseLabel": "Tranche two" } } }, "localname": "ShareBasedCompensationAwardTrancheTwoMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationNarrativeDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": { "auth_ref": [ "r722" ], "lang": { "en-us": { "role": { "documentation": "Percentage of vesting of award under share-based payment arrangement.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Percentage", "terseLabel": "Award vesting rights, percentage" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationNarrativeDetails" ], "xbrltype": "percentItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": { "auth_ref": [ "r328" ], "lang": { "en-us": { "role": { "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term", "terseLabel": "Expected term (in years)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationAssumptionsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]", "terseLabel": "Weighted Average Grant\u00a0Date Fair\u00a0Value\u00a0per\u00a0Share" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "auth_ref": [ "r92" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Weighted Average Remaining Contractual\u00a0Life in Years" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_StatementClassOfStockAxis": { "auth_ref": [ "r119", "r130", "r131", "r132", "r153", "r170", "r171", "r173", "r175", "r178", "r179", "r233", "r259", "r261", "r262", "r263", "r266", "r267", "r270", "r271", "r272", "r273", "r275", "r381", "r473", "r474", "r475", "r476", "r479", "r480", "r481", "r482", "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r501", "r522", "r540", "r548", "r549", "r550", "r551", "r552", "r671", "r694", "r699" ], "lang": { "en-us": { "role": { "documentation": "Information by the different classes of stock of the entity.", "label": "Class of Stock [Axis]", "terseLabel": "Class of Stock [Axis]" } } }, "localname": "StatementClassOfStockAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets", "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity", "http://www.appfolio.com/role/CoverPage", "http://www.appfolio.com/role/StockBasedCompensationNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r10", "r25", "r121", "r142", "r143", "r144", "r155", "r156", "r157", "r159", "r165", "r167", "r177", "r234", "r235", "r276", "r339", "r340", "r341", "r351", "r352", "r362", "r363", "r364", "r365", "r366", "r367", "r369", "r382", "r384", "r385", "r386", "r387", "r388", "r401", "r466", "r467", "r468", "r479", "r540" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]", "terseLabel": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "auth_ref": [ "r155", "r156", "r157", "r177", "r433", "r472", "r490", "r493", "r494", "r495", "r496", "r497", "r498", "r501", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r514", "r515", "r516", "r517", "r518", "r520", "r523", "r524", "r526", "r527", "r528", "r529", "r530", "r531", "r532", "r533", "r534", "r535", "r536", "r537", "r540", "r588" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Statement [Line Items]", "terseLabel": "Statement [Line Items]" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets", "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsParenthetical", "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Cash Flows [Abstract]", "terseLabel": "Statement of Cash Flows [Abstract]" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Financial Position [Abstract]", "terseLabel": "Statement of Financial Position [Abstract]" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Comprehensive Income [Abstract]", "terseLabel": "Statement of Comprehensive Income [Abstract]" } } }, "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Stockholders' Equity [Abstract]", "terseLabel": "Statement of Stockholders' Equity [Abstract]" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r155", "r156", "r157", "r177", "r433", "r472", "r490", "r493", "r494", "r495", "r496", "r497", "r498", "r501", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r514", "r515", "r516", "r517", "r518", "r520", "r523", "r524", "r526", "r527", "r528", "r529", "r530", "r531", "r532", "r533", "r534", "r535", "r536", "r537", "r540", "r588" ], "lang": { "en-us": { "role": { "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.", "label": "Statement [Table]", "terseLabel": "Statement [Table]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets", "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsParenthetical", "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StockAppreciationRightsSARSMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period.", "label": "Stock Appreciation Rights (SARs) [Member]", "terseLabel": "Stock Appreciation Rights (SARs)" } } }, "localname": "StockAppreciationRightsSARSMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": { "auth_ref": [ "r10", "r91" ], "lang": { "en-us": { "role": { "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.", "label": "Stock Issued During Period, Shares, Restricted Stock Award, Gross", "terseLabel": "Issuance of restricted stock awards (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r10", "r66", "r67", "r91", "r315" ], "lang": { "en-us": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period", "negatedLabel": "Options exercised (in shares)", "terseLabel": "Exercise of stock options (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity", "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r10", "r25", "r91" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock issued as a result of the exercise of stock options.", "label": "Stock Issued During Period, Value, Stock Options Exercised", "terseLabel": "Exercise of stock options" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r67", "r70", "r71", "r85", "r503", "r519", "r541", "r542", "r582", "r594", "r695", "r709", "r750", "r772" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.", "label": "Equity, Attributable to Parent", "periodEndLabel": "Ending balance", "periodStartLabel": "Beginning balance", "totalLabel": "Total stockholders\u2019 equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets", "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Equity, Attributable to Parent [Abstract]", "terseLabel": "Stockholders\u2019 equity:" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_TrademarksAndTradeNamesMember": { "auth_ref": [ "r58" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style, or rights either acquired through registration of a business name to gain or protect exclusive use thereof.", "label": "Trademarks and Trade Names [Member]", "verboseLabel": "Trademarks and trade names" } } }, "localname": "TrademarksAndTradeNamesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": { "auth_ref": [ "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r209", "r210", "r211", "r212", "r213", "r214", "r215", "r216", "r217", "r218", "r219", "r220", "r221", "r222", "r223", "r224", "r225", "r226", "r227", "r228", "r229", "r230", "r269", "r274", "r368", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427", "r428", "r429", "r430", "r431", "r455", "r677", "r678", "r679", "r680", "r681", "r682", "r683", "r705", "r706", "r707", "r708" ], "lang": { "en-us": { "role": { "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms.", "label": "Financial Instruments [Domain]", "terseLabel": "Financial Instruments [Domain]" } } }, "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails", "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails", "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockCommonMember": { "auth_ref": [ "r51" ], "lang": { "en-us": { "role": { "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury.", "label": "Treasury Stock, Common [Member]", "terseLabel": "Treasury Stock" } } }, "localname": "TreasuryStockCommonMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockValue": { "auth_ref": [ "r24", "r51", "r52" ], "calculation": { "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_StockholdersEquity", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.", "label": "Treasury Stock, Value", "negatedLabel": "Treasury stock" } } }, "localname": "TreasuryStockValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_USTreasuryAndGovernmentMember": { "auth_ref": [ "r441", "r576", "r769" ], "lang": { "en-us": { "role": { "documentation": "This category includes investments in debt securities issued by the United States Department of the Treasury, US Government Agencies and US Government-sponsored Enterprises. Such securities may include treasury bills (short-term maturities - one year or less), treasury notes (intermediate term maturities - two to ten years), and treasury bonds (long-term maturities - ten to thirty years), debt securities issued by the Government National Mortgage Association (Ginnie Mae) and debt securities issued by the Federal National Mortgage Association (Fannie Mae) or the Federal Home Loan Mortgage Corporation (Freddie Mac).", "label": "US Treasury and Government [Member]", "terseLabel": "Treasury securities" } } }, "localname": "USTreasuryAndGovernmentMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_USTreasurySecuritiesMember": { "auth_ref": [ "r559", "r576", "r578", "r764" ], "lang": { "en-us": { "role": { "documentation": "This category includes information about debt securities issued by the United States Department of the Treasury and backed by the United States government. Such securities primarily consist of treasury bills (short-term maturities - one year or less), treasury notes (intermediate term maturities - two to ten years), and treasury bonds (long-term maturities - ten to thirty years).", "label": "US Treasury Securities [Member]", "terseLabel": "Treasury securities", "verboseLabel": "Treasury securities" } } }, "localname": "USTreasurySecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails", "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails", "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r41", "r42", "r43", "r110", "r111", "r112", "r113" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.", "label": "Use of Estimates, Policy [Policy Text Block]", "terseLabel": "Use of Estimates" } } }, "localname": "UseOfEstimates", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_VariableLeaseCost": { "auth_ref": [ "r397", "r581" ], "calculation": { "http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseExpenseDetails": { "order": 1.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.", "label": "Variable Lease, Cost", "terseLabel": "Variable lease cost" } } }, "localname": "VariableLeaseCost", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_VestingAxis": { "auth_ref": [ "r722", "r723", "r724", "r725", "r726", "r727", "r728", "r729", "r730", "r731", "r732", "r733", "r734", "r735", "r736", "r737", "r738", "r739", "r740", "r741", "r742", "r743", "r744", "r745", "r746", "r747" ], "lang": { "en-us": { "role": { "documentation": "Information by vesting schedule of award under share-based payment arrangement.", "label": "Vesting [Axis]", "terseLabel": "Vesting [Axis]" } } }, "localname": "VestingAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationNarrativeDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_VestingDomain": { "auth_ref": [ "r722", "r723", "r724", "r725", "r726", "r727", "r728", "r729", "r730", "r731", "r732", "r733", "r734", "r735", "r736", "r737", "r738", "r739", "r740", "r741", "r742", "r743", "r744", "r745", "r746", "r747" ], "lang": { "en-us": { "role": { "documentation": "Vesting schedule of award under share-based payment arrangement.", "label": "Vesting [Domain]", "terseLabel": "Vesting [Domain]" } } }, "localname": "VestingDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/StockBasedCompensationNarrativeDetails", "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r169", "r175" ], "calculation": { "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesScheduleofNetIncomeperShareDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "lang": { "en-us": { "role": { "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.", "label": "Weighted Average Number of Shares Outstanding, Diluted", "terseLabel": "Weighted average common shares outstanding, diluted (in shares)", "totalLabel": "Weighted average common shares outstanding; diluted (in shares)" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations", "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesScheduleofNetIncomeperShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesIssuedBasic": { "auth_ref": [ "r36", "r37" ], "calculation": { "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesScheduleofNetIncomeperShareDetails": { "order": 1.0, "parentTag": "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "This element represents the weighted average total number of shares issued throughout the period including the first (beginning balance outstanding) and last (ending balance outstanding) day of the period before considering any reductions (for instance, shares held in treasury) to arrive at the weighted average number of shares outstanding. Weighted average relates to the portion of time within a reporting period that common shares have been issued and outstanding to the total time in that period. Such concept is used in determining the weighted average number of shares outstanding for purposes of calculating earnings per share (basic).", "label": "Weighted Average Number of Shares Issued, Basic", "verboseLabel": "Weighted average common shares outstanding (in shares)" } } }, "localname": "WeightedAverageNumberOfSharesIssuedBasic", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesScheduleofNetIncomeperShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r168", "r175" ], "calculation": { "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesScheduleofNetIncomeperShareDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "lang": { "en-us": { "role": { "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.", "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Weighted average common shares outstanding, basic (in shares)", "totalLabel": "Weighted average common shares outstanding; basic (in shares)" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperations", "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesScheduleofNetIncomeperShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesRestrictedStock": { "auth_ref": [ "r37" ], "calculation": { "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesScheduleofNetIncomeperShareDetails": { "order": 2.0, "parentTag": "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic", "weight": -1.0 } }, "lang": { "en-us": { "role": { "documentation": "Number of shares of restricted stock determined by relating the portion of time within a reporting period that restricted shares have been outstanding to the total time in that period. Restricted shares are subject to sales, contractual, regulatory or other restrictions that prevent or inhibit the holder from freely disposing of them before the restriction ends.", "label": "Weighted Average Number of Shares, Restricted Stock", "terseLabel": "Less: Weighted average unvested restricted shares subject to repurchase (in shares)" } } }, "localname": "WeightedAverageNumberOfSharesRestrictedStock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesScheduleofNetIncomeperShareDetails" ], "xbrltype": "sharesItemType" } }, "unitCount": 4 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(15))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04.10)", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r103": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "320", "Topic": "942", "URI": "https://asc.fasb.org//942-320/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r104": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "320", "Topic": "946", "URI": "https://asc.fasb.org//946-320/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "985", "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r106": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "730", "Topic": "985", "URI": "https://asc.fasb.org//985-730/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "954", "URI": "https://asc.fasb.org//1943274/2147480632/954-210-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r117": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "https://asc.fasb.org//275/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r118": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "https://asc.fasb.org//606/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r119": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1402", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r120": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1403", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "105", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(15))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(16))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(17))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(18))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(27)(b))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(9))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(21))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(24))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(25))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(2))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482739/220-10-55-15", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "272", "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19-26)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r198": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "320", "URI": "https://asc.fasb.org//320/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aa)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aaa)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.21)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aaa)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.24)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(3)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(4)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.25)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-14", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-16", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29,30)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479130/326-30-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "440", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "440", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r292": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "710", "URI": "https://asc.fasb.org//710/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "710", "URI": "https://asc.fasb.org//1943274/2147482969/710-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(A)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(B)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(C)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(03)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(d)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r302": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "https://asc.fasb.org//718/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(04)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(v)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(l)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.F)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "730", "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "730", "URI": "https://asc.fasb.org//1943274/2147483041/730-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r345": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "https://asc.fasb.org//740/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-5", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.7)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r355": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.C)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "270", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)(i)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)(iii)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)(iv)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(i)(3)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(4)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r372": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(1)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(2)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "6B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "6B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r389": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//842-20/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r390": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r391": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r393": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r400": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479773/842-30-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(3)(iii)(03)", "Topic": "848", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r402": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)(i)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)(ii)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r407": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r409": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r410": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r412": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481444/860-30-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481420/860-30-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(4)(i)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r421": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r424": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(4)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r425": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(5)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r426": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(6)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(7)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(b)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r429": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r431": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r432": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r433": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r434": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "926", "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r435": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "340", "Topic": "928", "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r436": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(10)(1))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r437": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(23))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r438": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(26))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(27))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r440": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(2))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r441": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Subparagraph": "(b)", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r442": { "Name": "Accounting Standards Codification", "Paragraph": "3A", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Subparagraph": "(a)", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-3A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r443": { "Name": "Accounting Standards Codification", "Paragraph": "3A", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Subparagraph": "(b)", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-3A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r444": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r445": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r446": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(19))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r447": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(22))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r448": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r449": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r450": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r451": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r452": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(11))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r453": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r454": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(19))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r455": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(2)(a))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r456": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(22))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r457": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(23))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r458": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(9))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r459": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column A))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r460": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column B))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r461": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column C))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r462": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column D))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r463": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column E))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r464": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column F))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r465": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r466": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r467": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r468": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r469": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "((a)(1),(b))", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r470": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(ii)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r471": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r472": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.6-03(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r473": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.6-03(i)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r474": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.6-03(i)(2)(i))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r475": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.6-03(i)(2)(ii))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r476": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.6-03(i)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r477": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r478": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r479": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "205", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r480": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "205", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r481": { "Name": "Accounting Standards Codification", "Paragraph": "27", "Publisher": "FASB", "Section": "50", "SubTopic": "205", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-27", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r482": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "205", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r483": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "205", "Subparagraph": "(b)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r484": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "205", "Subparagraph": "(c)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r485": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "205", "Subparagraph": "(d)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r486": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "205", "Subparagraph": "(e)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r487": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "205", "Subparagraph": "(f)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r488": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "205", "Subparagraph": "(g)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r489": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "205", "Subparagraph": "(h)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(2)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r490": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r491": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(e)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r492": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(f)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r493": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r494": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r495": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r496": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r497": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r498": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r499": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(14))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482130/360-10-45-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r500": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(15))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r501": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(16)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r502": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(17))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r503": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(19))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r504": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(2)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r505": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(2)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r506": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(3)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r507": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(3)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r508": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(3)(c))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r509": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481549/505-30-45-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r510": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(c))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r511": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r512": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(e))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r513": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(8))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r514": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r515": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(c))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r516": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r517": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(e))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r518": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-05(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r519": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-05(4))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481520/505-30-50-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r520": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "220", "Subparagraph": "(b)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r521": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "220", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r522": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "220", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483580/946-220-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r523": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r524": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(2)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r525": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(2)(g)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r526": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r527": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r528": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r529": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "710", "URI": "https://asc.fasb.org//1943274/2147483070/710-10-25-3", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r530": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r531": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r532": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r533": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r534": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r535": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r536": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r537": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r538": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(9))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r539": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(1)(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r540": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(4)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r541": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(6))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r542": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r543": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r544": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r545": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r546": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r547": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r548": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "505", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r549": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "505", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r550": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "505", "Subparagraph": "(b)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r551": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "505", "Subparagraph": "(c)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r552": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "505", "Subparagraph": "(d)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r553": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "440", "Subparagraph": "(a)", "Topic": "954", "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r554": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(c)", "Topic": "976", "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r555": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "978", "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r556": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "985", "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r557": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r558": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r559": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r560": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r561": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r562": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r563": { "Name": "Accounting Standards Codification", "Paragraph": "12A", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r564": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479081/326-30-55-8", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r565": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r566": { "Name": "Accounting Standards Codification", "Paragraph": "69B", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r567": { "Name": "Accounting Standards Codification", "Paragraph": "69C", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r568": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r569": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r570": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r571": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r572": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r573": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r574": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r575": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r576": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r577": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r578": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r579": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "80", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r580": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r581": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r582": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "852", "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r583": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r584": { "Name": "Accounting Standards Codification", "Paragraph": "29F", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r585": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(b)(1)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r586": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(a)(1)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r587": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "55", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r588": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Subparagraph": "(d)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r589": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r590": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r591": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r592": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r593": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "830", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r594": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "830", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r595": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r596": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r597": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r598": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "308", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r599": { "Name": "Form 20-F", "Paragraph": "a", "Publisher": "SEC", "Section": "16", "Subsection": "J", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r600": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r601": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r602": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "A", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r603": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "B", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r604": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "C", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r605": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "D", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r606": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "E", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r607": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subparagraph": "ii", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r608": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subparagraph": "iii", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r609": { "Name": "Form 20-F", "Paragraph": "2", "Publisher": "SEC", "Section": "6", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r610": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subparagraph": "ii", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r611": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r612": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r613": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "i", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r614": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "ii", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r615": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "iii", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r616": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "iv", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r617": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "v", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r618": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Subparagraph": "2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r619": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Subparagraph": "3", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r620": { "Name": "Form 40-F", "Paragraph": "b", "Publisher": "SEC", "Section": "19", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r621": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r622": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r623": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "i", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r624": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "ii", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r625": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "iii", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r626": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "iv", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r627": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "v", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r628": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Subparagraph": "2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r629": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Subparagraph": "3", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.17)", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r630": { "Name": "Form N-CSR", "Paragraph": "b", "Publisher": "SEC", "Section": "18", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r631": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r632": { "Name": "Regulation S-K", "Number": "229", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r633": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r634": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subparagraph": "ii", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r635": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subparagraph": "iii", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r636": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subparagraph": "iv", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r637": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subparagraph": "vi", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r638": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "3", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r639": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "4", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "985", "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r640": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "5", "Publisher": "SEC", "Section": "402", "Subparagraph": "i", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r641": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "5", "Publisher": "SEC", "Section": "402", "Subparagraph": "ii", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r642": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "5", "Publisher": "SEC", "Section": "402", "Subparagraph": "iii", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r643": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "5", "Publisher": "SEC", "Section": "402", "Subparagraph": "iv", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r644": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "6", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r645": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "6", "Publisher": "SEC", "Section": "402", "Subparagraph": "i", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r646": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r647": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r648": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "A", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r649": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "B", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(20))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r650": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "C", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r651": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "D", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r652": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "E", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r653": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subparagraph": "ii", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r654": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subparagraph": "iii", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r655": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r656": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r657": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r658": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "A", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r659": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "C", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r660": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "D", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r661": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "E", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r662": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "F", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r663": { "Name": "Regulation S-K", "Number": "229", "Publisher": "SEC", "Section": "408", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r664": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "408", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r665": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "408", "Subparagraph": "A", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r666": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "408", "Subparagraph": "B", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r667": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "408", "Subparagraph": "C", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r668": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "408", "Subparagraph": "D", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r669": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "408", "Subsection": "b", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r670": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r671": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-3", "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef" }, "r672": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r673": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r674": { "Name": "Accounting Standards Codification", "Paragraph": "4H", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r675": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(2)(a))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r676": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(2)(d))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r677": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1402", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r678": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(1)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r679": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r680": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(3)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r681": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(i)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r682": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(ii)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r683": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(iii)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r684": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "205", "URI": "https://asc.fasb.org//1943274/2147483504/205-10-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r685": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(17))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r686": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(9))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r687": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r688": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r689": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r690": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(b)(2))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r691": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r692": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r693": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r694": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(d))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r695": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r696": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r697": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r698": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r699": { "Name": "Accounting Standards Codification", "Paragraph": "55", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-55", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r700": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-11", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r701": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r702": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r703": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r704": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r705": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r706": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "321", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r707": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "321", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r708": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "321", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r709": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(31))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r710": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479130/326-30-45-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r711": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r712": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r713": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "410", "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r714": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "https://asc.fasb.org//450/tableOfContent", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r715": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r716": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r717": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r718": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r719": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r720": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r721": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r722": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r723": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r724": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r725": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r726": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r727": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r728": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r729": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r730": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r731": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r732": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(04)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r733": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r734": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r735": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r736": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r737": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r738": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r739": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(10))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r740": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r741": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r742": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r743": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r744": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r745": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r746": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r747": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(v)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r748": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r749": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r750": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r751": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r752": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r753": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r754": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479773/842-30-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r755": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "852", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r756": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "852", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r757": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r758": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r759": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(4))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r760": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r761": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r762": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r763": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "730", "Topic": "912", "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r764": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Subparagraph": "(b)", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r765": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479838/944-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r766": { "Name": "Accounting Standards Codification", "Paragraph": "2B", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r767": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r768": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(cc)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r769": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(e)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480109/944-80-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r770": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "205", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r771": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(18))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r772": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(4)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r773": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r774": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "985", "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.9)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "985", "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r84": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "https://asc.fasb.org//235/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r86": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "350", "URI": "https://asc.fasb.org//350/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c),(3)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r90": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "https://asc.fasb.org//440/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r96": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "320", "Topic": "940", "URI": "https://asc.fasb.org//940-320/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(15)(1))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" } }, "version": "2.2" } ZIP 75 0001433195-23-000099-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001433195-23-000099-xbrl.zip M4$L#!!0 ( )*A^U:H*XPJ8@@ /M" 4 838S,#(S97AH:6)I=#,Q M,2YH=&WMG%MSVDH2Q]_W4\S:M4ET;<#(XAL4\,(0\.8F[=@_JG?[<$IWT3B[/3/J/AV3]._UDL MDONB.3P_M(J==&8[.3D,^(#Q\N\=IHU:O!97:L=>EU:,P;(11Y'MU M+ZI5?%:MTO_X>S 4NKLQVHP$>[L7\Z389[A^LUY.S,PT^ M:5]])%>7Y.)#NW5)6E]:%Y\[[3];\!:TMJY?O"-_?+Z^^7S^L4,Z5^2F=6'= MJ7AE=*GSH45NSJ_?G7]LW12OOOS>^C_S?3AD>C M9W=[^6G6+I";/DT8Z4#\]0HD8 JM(:9/S:O]6N/A,S"FJ@<<,#)MUF"I99^C MH5W!QOV[4H5,%<$Q05/-FN,7)R'7J:"C)D^L>7;023Y[5QHC8[O "T+J,@7 ML>NYYBE_2IYCD(&M-^%XY;RY9)L.3;C8UBC5CNL/MGHE_\&V;\YZ7"I[E96F M/;06.ZMA8W1*D[=[E;WQ@)2&(5P&FN7TCOCSFRU8M+@W,OW[3R>[\WYI>)9H:JTV[ M+=%4WL)H>DDM@W5GYM3P M7@C&P)+"JFM8 SL$7(&:AFX)# =+(/+(L,^#/M$9_IF.'S+%\DG0@9AK ;(; M%?R0FSXXJ%,66 -QWA1,D_BAP@<$F](=S6[##AD[9*P?7I5?"1F,1#R!H,3X MG@9A 7@!W:%9S;3S)(++,S4("]L@$= !P2(ANNYRV]@14]TDDY%"/J:)8CVNC*"Q$\4UG M-UA9F(&#'ANS8.V.#SL^K!]+U2WD0VO@56O1K;]B!'>K70G?D#CD&9.)8@O,3 ME 0SB'$AC[8\NE"^3C2W3G1PX I*Z.M]^$ WS'#FT_U- ,KQ<>FH?OP]//&K MI4JE^N1 J91J1^4GG[7>*#6\U8Q=$5,>AO7>]S+@91&-;B'1WC,--D"$V_SB MURP2R#?%,!!:&$I A:[9(EQK ,0\Q3DX8YV.]IM(.V"+51YK0$5F95" M2 ,612PP? !QK)?4B%[M-\I^_42O(NW4;# 19IEUQJBLS\[ %JXA/ M.NG-L/(6/5[<)MUQ3<\BF[F= 'LLGG"!':)VB-HL1(5;B*CW+OH7*8*WY/+* MDVU9BJHUE!@FES((,H6LF,GDELP:2VW@?0QUF$O#3I&O[FX\>?/ D B@!QKI M7N_<\ !09.\FXHW&))O8=>"LZE,]27M175E(LM#*3KL?N20<$<%OF95]7^ &:"FRHUG45/5IW\\$-74T?%.3?TZ9?US(0C6 MFCB@">^\X7V\@#-@29ZT384.L,[E27/H(QB^G9G9D MVAHR_6CA_462"=*Y2($P*0 GF-520!K["&..I(++AG@RD&+ ,"5*:"]_$E/E M\HO%J9 C!JW#OG2:B\X!#P#U)/EB:05L_,RO[3SRY9WYKTYL4+6J5O+K#[=^ M+VZJE9+O?U^UZMM+ULNK06PM8X]*U<:3LG%#$/$>0&"3";)E]QU_RT#TE.L% M^UW*+?/M'HBVYGKU:K\*%PS[=_;[:XN7A2>KWVS\Q[ASZD4YE5_E40. 3\0^ M%D7&]FV2Q[OPVSFU<^HYG;KH!49A:'//*+#_E?]^,3A_9'+_X/4$L#!!0 ( M )*A^U;+Y%+T8 @ $ ] 4 838S,#(S97AH:6)I=#,Q,BYH=&WM6VUS MV[@1_MY?@=K3O,Q0LDB]6G8\HSARH\Z-W;-U<]=/'8@$)=0@P0- *>JO[RY MO46R+5^4GJTH'QR16"P62^R#9Q?D^<@DXN)\Q&AT\9?SOY9*Y),,\X2EAH2* M4<,BDFN>#LFO$=/WI%0JI"YE-E5\.#(DJ 15\JM4]WQ,7;OA1K"+F9[S$W=] M?F('.1_(:'IQ'O$QX=&'(W[::@6-5KU5B2JT%CS?7Y.:*7'[N M=:_(5>^Z_OB)_+/7V[O?NE<]TG_AMQU+^UTJI4 I]3_W"5W MG=N/G>ON7>GFMY^Z_R*=RSZV!)7*^GIY:F8;XN*QF-FL\3^Y-CR>?G=G;5Z< M/8]<\T+ ME"I7'%(9<+6)9B,7S67;=&*B];96N=&L/]A:*?L/MCVJ];3L!]NI/;$6.ZO! M,3JCZ8>CZM&L0T:C"#:+=I!](3[X8FFY"!:O^T9F___E8SWOE^>KHYCR\V93 M+/Z7,Z$>&=$Q(XJ-.9O IFU&7).?Z:5A&:+F]&S%+_9QG]B5O@(4KRA@ZOYW"9B@]6,%3+!O ?.1:@@3 M"(AD2NY3.1$L&C+/Q8URT1))&"Z5P(1!&^4IH>F4Y*E1.:Y]X,:6)D,849+ ME>)4D)B&<$L1F7!#C'1R:P(I"YG65$U1)*'W#,9=TJGA7@3&P)#"#K@E,%TV0T'5#B@PD-!5/UA4(&1F*<0=QC"BSCS !) ')K54CM/ M8]ADJ>&@AZ>AR"/0";&\%%0>X #'C3F#4$0407018@$3183JKX8&)(HX*O90 M(A<@ -@@(8#M<-K:$U(](K&0$ST##L6&7!M%82"*-YW=8*6W%/]Z9LR:M0<( M.$# 0Q%3VS<(Z*_$RUM=A'>17N(6*N.8PZ6-H1ZABMEHA>CCN/@AJ@C3N*:Y M'J$XBB5 'Y!"X#6L_E!(G4,_)!8*W&5E,B5#%L%M3=Y!E$8,PMZ%8O=+.*+I MD)$.[-FWN0 )OTI+?OT=>V^[^O7(7;E+CKE^ZN "]1/8_,0T& "P85./IS'-PZPHI+G>O@NF)P,& M^%2,Y!(>F2M0 )1ES+4E0B#%4JL'2W\+"K5,PQ03U )>D?$L4,LK*!HV3,L:L?!J&=QS$+#QQ"O>D,1Z5+(Y!1^!? MVE6O!C(W#UNP#O16U*=NR$8Z>P:HP4Y1AF"O$@Z6T;(/61&H#]S&1 ET:W$1^ M=P?KY-T#76( -N [7TD7AH< -_;4$ \4TWQNUWMGU8CJ>0Z+3,D"(8LLA;3^ M*.C=E A^ST1QA/B5O/?-+MI3\#O4_7<4J?5]@Y[GUOWM^S;1#*^\!8M 4K., M&0M"@5'_C)QQK58UCV*:1]Q(I>=IFKT!*I.$&\/8(Y1M("$1Q/:(@WU6R3M M%F!(&AD8_(]5LQD.-$/4FGO"$&P^L,!??"8#<_K0LX +HKT:E[QGC!ZC_F2J[[8C,G6 MC>P+2;-W!)X%0D5QVIUQ;B >-(*.FLUYQX. 552;H N@#@"!YY(V#1F;SA,( M=G"(G4S!]S:^3;&GG.0 /GL#/M]:\'YYX -Y5ZR 7G@ ! M2UMX.I9BS#!W2>FP>#52%22*)9F04P:MDY%TS(FN8!I@T$X2N_)^(4.]7/5W M?V95"\JGS3^F]O$AF\%VE9IG&=LHUTYWBC?;A]V?>]0$\;7.M%__$=H_S4;]^OU_ZMQ\>6(LYA<9K+AV^[5GC%;^P9XL4#M M7EU9=*$#6*6Y6>_RQ&?#Q5_W!?.)_7+Z?U!+ P04 " "2H?M6):O<[#D% M #H*P % &$V,S R,V5X:&EB:70S,C$N:'1M[5IM<]I&$/[>7['%4\>> M$;(D;+"!>(9@T9#)0&)PDW[J'+H37"WI5.EDF_[Z[ITD&\>F==X:\,CC81![ MN_<\M\_>VZB[D&%PVETP0D]_ZOY17/(KDMLEEP$[+>-T#_+G[H'NI#L3='G:I?P*.'U9 MXPYC]+C18OZL:1^2$X=87HLVB#=KG=A-GS3_L&OHBLUSGU0N _:R%O*HOF"J M_W;+B67GFE.Y:-N6]4M-MSOM^B*2V%F"SOG7/,9MI+4M5GJ1[$;62<#G45MS MK>5.I=D3@4C:.Y;^ZRA+W2LA1&[!K.14BB%T9*HK2>LH3[><.4 M_\T0+T+7C]<%%XP3\(B5W&Q'$7(_OAZ^&DZAX9CVYV)]G.#WYG'X*(_=';MI M==: >7(F/-042WY0*OKN^70X&/9[T^%X-('Q /JOA^X W(]N_V(Z_,W%G]#L MGD-O=%;8!L-1;]0?]MZ6MHUG^>[B?'+1&TUA.@;[&"[,B=DW8>+V%6NP&T>6 M 1M/HC>!WMGXW=0]@U4^)8L3JZG2-WWMPJ1W_JHWW[N_0ZT^5Q;$L MYVNU^F>62NXO._HG'E$3Q IPN&/@B",2UFM$]EB X[A')190" M21@L6,)F2P@)9< C\$04,4^9X9K+!4CT?Y^1!),:+.&"7O*:7?GV'&L3E^$,8F6^LGN[".61,>,D8Z@P'" *+S) M(I;/% V4F5I=#" I^#Q XRV,"?.RA$N.@T,B"NZ-MR#1G.&Z%(8\315D_%8&O$M8RA4H/;S] M!6<^#C(.NN17#,8^ZH8E*MUJ1(N\&J5^ROC"=,;5=2%?,.X1[9!U2I?;1']V]QW&GO M5G<%&/ND<9A3"K6:#3U\>[R P2.4?*@+3A67))@'JBIM%2/AJKIB3(""8R@S M"0(L2BP[3@($F\:(+S6TE\\C$GGJ=PQ(N0ZM^L1669"S$5A?19$+/R^ME:PI MM 4Q52IY/=VOS+1$PZBY5MLA2>:X*Y,B;A^AY!Y;!B29!:QL/Q,)94D=!1Z0 M.&7M\DN'\C0.R++-(RU3[=0IHL^$E"+4'5PID7DD*#K1_>7FN]V@:>4[0HDU M*6G9E TH>VIGG8<-9:+=->:_NWJ(V6V6BN=_W2L(>F?7S\[:.VS*9] M\J2P!WIX\R'&+*:HJI>U1JUTB FEN-ZTG?@&[/O**"?!3W*9I_'_GPFU6,ZP M".ZO!@7_[:?V)L.)Q6GEJ^K7T0N8_Z $?RBW5TN=M$_.&,\F=;L[AZU.JC]7 M%^I[1+^\#C@#PQ/O+/9^D/[@"QAPED$OPH1&<4H#6[/A-5!O3JH5P?UZJ!>;4\J M4A6I[TJJN@7;$FK5+=C6IF[U%NS>SKDMH34<[H'JVJP(O7,2&UBF:VY MU7GRW=<6O.CW=;8-(5C"6'TS-1:IONMI)RP@ZN;RP;NJ=PN#OC*Q[ES(#%>' M3#YT^8_76XO/_$W; _V&[S]02P,$% @ DJ'[5K&]A0*[_P :]H2 !$ M !A<'!F+3(P,C,P-C,P+FAT;>R]:W>C2+(N_/W\"E[-[+VKUD(R=X2K6F>I M;%>/9ZHLC^WJWO-^F96&E$47 C4@7^;7G\P$R;H+)"0E$+UF7+9(01+QQ#4C M(S__W]>A)SSC,'(#_Y>&W)(:PO_M?/[_FLW__7+W3;@,[/$0^[%P$6(48T=X M<>.!$ ^P\'L0_G2?D7#KH;@?A,-FDWWK(AB]A>[3(!8425$GH]*+X;GVJ"F/ MJ*TW#4E#3MPV$+,4T[3;2+$M&R+"0WG;(+1U5M1WZV$%,WH^\HQ^= MNZ_Q+XU!'(_.S\Y>7EY:KX^AUPK"IS/7]UP?TQ<^BT/D1_1]4$P(0FI* M2E-6&I.;1(&FR.;J&RF2I)ZE(R9?P+8S'HZ?I1C'P;3[]%;NENFLW"^''4?$)H-/U&'T6/;'1Z M87Y*A"X_5TU*MBSKC%V=#'6PN_HUR87Y>Y*+SL+8=+;&67(Q';K^P92ID_NA MT:@_-Y)^$'ANT+*#(7NR9*C29'04QLNO3CZ/AO1.V#V_\LGCWB[([$+D7?L. M?OT'?FL(+A$=,B>CT9&(%&BJ*EOZY[.YN^9XR,4X#,D3OKJ1C;Q_811>^S^@"ZYN\.>X*&GR4V);'7ZR(MPOON:TSNGBN?\ M&XXBC'LC'!+$^T_?,!&Q!QP.>WT*XQ#9\>21ADJX<2O_*]<3]<7GS3_IFXL> M78^",$')?4QP0-^UU__J^D2#NH2D0>128;QZ)7(4N8\>^5;T/BN=X'235OU+ MCQC.?] (68JEWG(AB.R,297NR&1$T^L3?\\O8^Y!:]T8^Z+RATV(_? M<$1I=$==DXB(ADVNHBXH6XCXD\V#A:8:BI[W >,5>.S$E@+M1Y3,SS+XW('8X\ZE2PSP8AG?*< M36Z]1@ZYQ=G\/9+GOS\TG4,4C$/V%W,0SU,ZL%>A6GWR.6:&=_*7Z]"_^RX. M!79_O-))N;C^Q[Q!7OQR9_+1_-U'S")-_B)N:1A3\\NL7E.2R?\FWWN_-IVF M,S/4:%('9?[*Y._)0\[FWGLU&91#DR%]&_Q$@9[\Z9"'O8X\UW;C[YC*F."X M0ZJ&:?@UE:.)UK[P4!3U^O=Q8/_LOKI1HS,90@2,."GL>C>YT>>SE?>?DF(Z MC0S,2:*&.*6W22 X?;WT2C9Z4WW"B!U1L8^F]!X26S4.<2>=&;LXN<7DVN1O M>H_5_%.KP;\O_/)OGMX:!VIC_LUF-<&.R!PSI3H/O32$/_]Q?YD?E3I?5*+) MBZ8J%\%_HQKR=G!]N3LJY^EM KV/BN]V->A]<'M2%+XMH/=1\2U+')BF1;]? M.[[?+W,7_RC9Z: 42(>#!T [T"%K'+@7'6:]OUL878H"_51 M'$Q52DY'<>G[],-+[ =#UU]UV_3MMX9%<[XYE M<1?8PVUHFXD]]]CS7/^IZSO?4?@3TU6+JU>ZWH&K:8JX#8SYYM:)+!.W837? MW#K1&M3!8_)J.;@H-RZPQ%&H3T@[+K$S]@+1G1LE4V7PNT:+_<, M.XWU4LJ=E3BQA)W"@)4[3W%B"3N%#2MWYN)7[.,0>81?76?H^FX4T_*M9UQI M*U;N;,9I678B.U;N#,?)I>P4EJS<:8Z32]DI;!FWN8YB2V3R/_;JSS'=!1 , M1X%/_HQ6/9K-J2S%"RJWB9)BJT6 U72/&^^LWDSSKN.P'3;(NT6N<^U?H)$; M(Z\T].T1HZ@PN]G'W M56[S(+PY!CPPZ^ 9D)+0@=NT0HT#%QYPP7_N@D,OFP/&:?QG(D[M%O+ )?Z3 M"/7S(>?WD:D%A0L:__F*^EG8 [&Z[.F04Z0&BZ1_V5,BITX-%LD+_K,D?*4& MBZ1]V3,11TT-%DEX'K(*!WJUBB0**N6QICN0SG^H7_>L3F&L+GU6X319G<+H7_9, @=9 MG<)X4?;,P@FR.H71GMM-&]SX@ TKCU&Y=D;S@/W'!EUM7).WYSR1PY-8527C.3@PH\M7X#YGKY['N ML2.YJ+)#H^SA^VD6ZT[$+!Z*"7B@0T7"[TK%9#S@@O]8G<, @@/&F66/O(^\ MF'TB+O$?G]?/AYS;T5Q8;9_)?_A?/PM[(%:7/=MPFNXEQ=&_],4$)^]>4APO M^,^2\)7U+)+V9<]$'+E[27&$YR&K<*!7JTBBH%(>ZV(D#USB/R]0/]]IWDTNJIRUS7\* MHG[NT(%87?8,QXFR?871O^Q9#@ZR?87QHNS;)TZ0[2N,]OQG9D[M QZ(\ =/ M?9SLU2QNH_>OKH]\VT7>-7F]<$R_O>A)A*,@),#[$OC./;;'(3%RASA,^3#[ MH2QN0_&ME.\^8=]^*R')N0VBMY+\Q_W4<)6/[-Q&Q5SJF *;[%OW[PP'++GW-<1_CJD1G)_$=/#,T.B.XB9T_:<#3&GZ MZ]\(@>G![F_?Z+'N:V9U[8_&<<1&R&6)F&6)VTP%)[#<&0-*^62$(UARF\GA M!);U00*_F:5ZVJY"):7,V699XC<#5T_[!="<0I/?+"6@X?AH*&\R=+=$3IG1 M6+/XD]\\,%$(D]PN* ,C@D#;A/X983!>_:AZSN_!L\X].D@L)H[0;,,*PI@-8\G)QQ! MLPPK"H"&8Z$!DOA@P]9 @]^,?CUM&$?0*$-&O3[[D81CB/"'_1'$"8'\\TGEL=1' QQ>(<]1,_WB@;NJ#Q[$55^<[C'8L;6 M&45A?'Y')H"39]$_?\?NTR#&3I=X4.CIL >'%=B-1J/^^26*T2.* MRD-\C=\\X*&(7R?9TOC-[^5F[P.V!W[@!4]OY2$_OSFLPY&_5O+%;R9H%U?E M(40.'J+P9]3U'?;'#1J6J(N%QF\JYGCLJ)7\\9M@R:U@;U$8^V6-V31^TQG' M8$2M9*Y:N9*;@)ZS/<(Q[CZ%.$E@E8<7W*5*]@8Z<'L]MZN1*9E\B8S$H8_C MRV"(7+]C;S)[JRHD\73JY%%F7SI%L6E4GMZ-;(H^)6 M*R=R_*7-(M>9]6KD*ZJ\M%DHNRN4%3G*TF:AQ*]&GJ)*2YN%LI>[U ?W2YN% MDK\:N8AJ+6T6R6"C6AF.4RQM%LJ.:N4@JKFT62C#JY'U.,W29J&,X"X[ 4N; MAV)UM7(E1U_L*I07W*5*8&GS@-RN1J;D5$N;A;*B&GF3ZBYM%LKL:F11CKFT M62CYJY%%J=;29I$,-KG+HE2)N-SE1%80]SL1I.%X6)KU8I.[O,,JHJ+781U9#QXLYR6KDAU?"R9A M/WQQ&T?>Q^2EZ'>8W]3KW\>!_7.Q'^QP&/B)7U6\:MM#_'='_2)[N(TM^6)/ M+NDID#W<1H/=%Q0Z#V\C/,^2J^'("]XP9MSJC6A.^_""HYU"<+@-%'GBS"E4 M6IN["(\[SIQ(F[6Y"P]YY$Q6;58H9[B+,;=PY@Y'<>C:,788;WX03SRZN_]1 MFDQ)F]LU[%,3G L3PNVR\ZFY4U!&=%&ZNH_;L;#^YQ^.S:^"+P M'9=57D!K=!.6?2P(6M*$N(GM2;O0O&.[?* M(QC*!>A-'?9 M0W[5%\"N.-AQFTC-NL(PO\AS3'Z=H-I,D4J5"N6(7Z>IIU$D[C*D)>'7:?0A MN1OP:U?Y.D$EH2)QF_'CCU^'"9@4B;LT7+X:J;*4"BH2=YFR4Q.:"XO!7=[I MU%PYE)[A+C%3>-%XYB<>+/%75B'D+GM2.FQL7U@N*S;*DN+@%QM9,FXE18?, M74*%)EIOP\ 9VW$OG%0RO\<0%T&([P-O?*1*VE,DN63NDB8<\>1$B2R9N\0( M1SPYE>[B+OG!$4].E)"2N<,:74]D5[M(G MG/'E5+:%NVP+9WPYE7WA+M.QA2^]>(##BML6[C(,'/'D1'9%*5MZ_(Q_'_\!A6%%MRUTF@@=.G,(_5+C+/9R" M$_LK'/?U/)PY'TE H1T&WCS1Z%=:0?ATIDB2>I:..*,:M=D/@M@/8MP0^F$P MO,/]Z)=&ORE+;8'^M-A/@_TTR4^+?F#1:Y;)/I3H3UEFO[.?LL)^LL\EC?W4 MV4_VN:0V!,_U?]YMGB&;'AW7$.(@G9/?E!M"$#HX_*5!7::SA1>??!(%XY X M)LF? XPF_G_T,L'HZ$&_PBW!'+YO^/&"$_:D:$ M]>G R/T/)L\CCV9_OJ33D:1/A%QX,CU9D?[K$X5'T\%V$#(:G8]]0@HZBDP' M<3,781#B_B^-OVSGB=GH/*!'#PM!7[B@Z/?CZ/,9(HRBQ)WP:YEK"2L>@S@. MAN<*F2V;#"+.AG]N8WK>LY)ISO_]%]F0/DTF?M@9 MF"MG\./F^N'J4KA_Z#Y M_'HE7/2^?[^^O[_NW9SP%;+!]'=$U*O_% >^*%RV+EJ"(NF:M33M@B=G[ #' M+7)$%?:,8M:/(E9:)IA\[=U]%Z@I]P/_9CPD-[&%U,+?4?5H4^/G(^H+.=@] MOPSL,74Q:)E,@YDT8EL;'5EJ_I.9O?>[9%8RR\0Y$=P^?$?A3R'P\> M43=TD2?\\%T[<+#P_7Z_*>5GS#_'Q(DF%N[M#H^",";.%0UR8^)Z$+P1%_;\ M,0B\1^1Y0?P8O$Y8J%! 6Z9F?%KD8DZ%^SN15X?\/RK(0)T"!__\T;U[N+K[ M]B_A[NJV=_<@W/ZXN__1O7D0'GH"4:L/1'<*LBKT[@19_^!\%'I?A8>_70DS M&G>J;;L7#_2R;*E:V<1!2/[[&H1"/,#"GQ-@"4D\() 8##L[J(Y;]O6K)(*; MP^>Y0SYI#LDM!O1K30>]-=\P"IO8GP!5;73^/O:QH$JB0".71;BV2BRZM+HO M8BT9<\FNELJN!K)+_/2[[LW]-9-0$-YWX8VGT)I(+XVYA7^G_Y%8=_I[:]]7 M[7Q^#,\Z/'M&V4A(3S%Q(YJ@$;ZZ)/B[8<<1Y5!X5RS[0K^;?'4BL#I-'\E- ME9C;=FZGB5+). J5%OW@U?YC7G+&X@"M>^ MWG3LE@^XS!V;>2E#V'/2RZGR2?+;.FR1C$0A^3_SN3!:6JJQ>!Q%CO+UQ2U MI:KFVLM22][Q&@D/=_KFQLDJ+5-MEV2RFM62E6R4/6-<2SA'L$%A]TO#:DR^ M,$(.=0;.E=&K(*_"VR) $FP<7%DO"9NTBQHB.B8(1VE2D!UI=1&,_3A\NR"^ MW[+C%=$1HS!XIO=Y]T;-1N<2>^@%T;/H5OM>$S9,*:PN45BB]&UD&EI-9CR@ MU^MT]<1F#)FWE^U&1S&:DJI;;4O;2.>R03J[16%T_<" 2HV).PM?@3AY0?B$ M?/<_[.^/%<=>7JI=M^Y:]RTAW<<5"O-8$VZ"UL=5*)K,?'(SC1%JED:ROIF> M98-CH4+==9P01U'ZSS=R/WDBT%:C8TK"!8IBUW/)FUR&[C,HT/UI?1L0.^7] M_^XH,6)I=E9J="Q5ELW\FM/(0KZ0SILKZB6I^=F?.]+S@OS:"Q^"EZG!IUOA M[HD+CX0O*'Q$(1+W@.T*8GJXSQHZ+:V"_+:9+CO MHN.HA%*K[+RV,.4/]2%&(6&-.T*>@%^Q/8Z)#B8?]VEMY4>:.ZJX LY+.:)6 M!:I75_@*9RR$WIKKLN9S7>N"^,,D+TZUMKXX@36YDNQZABKE;HC1G(U3&YVV MI"_JBX\YDG7? @*]VT'@+R3KZ 9"U=":AF0M+39D7>%<8+QU5,9GQ[E)4=((R9'L(HT_O#&59X&$ODBPY^2"8V)L!.'-6;<, M[Y W#?F5F%X2]5"HB\P.DS]0:@:0[TP^ZKL1D0"!KK<1_O9I0M)_PHX040,N M>,19%T*V++4[HT^CW.Z)<0O=V"4W3'*P."2O-1J'T9@F8^- ("-8)"@K'QX_ M4M-(ETRZ=GR>*1N_;LWBR,E8J]76U5V2L:K:4J7=DK&;;BLK+=4H/L&IDXN* MMGN"\]TC25E"7>YSXI$(4>"YCD#A^"F]Q'+M\U60Z8.KFZB3PIFI Z)*O#X\0E0-[,K(GU3*)DIGRAJZ.W]Y^/3[AJZ&A MBI*9JU19)84+BQDMJLH6DEDFT7;=^\ON/X5?O>"1.->TP!3'VQ.Q&1,*"Y[G M'^,H=OMOI_&RZ?8EFZY./;Z1T ';/X4AK:9]&6"Z:9=YU#,5$!_DC\( 123H M\(@OCCPOC2VHB_[GV*4..O'+'W$Z@-QSZJ.K=+DK*=U*/?49!W_"(NJ]T\NT M=$MPR%5BN>G048AMS.RXK BLT# 2/I#[$68*T9B8GV@0T#*,2954/$#QXMQ? MT/PLZ123+Z?O\%%D<=4')7G'1P()AU;_16P2;)(T MUK(DP4%O42MWO='%. S)[9(20JI+8A2/HRDFVXW.OW"T-I-QDE+):>GQ$?)/ M:\KE;@(.2* 5LY^@1'J R@<1C:$;QT28L$=$) Q\:B&\-P$3:_$F7%/#07=@ M/V/A$L4H*<9;4!/O]Z"2-PJB>"'$OQN3+VF23I7"'7X:)[OWA/OF@_"!9C_- M3XJJM-(!\F386D&T3/4/B4B)^5,Q":JU7?BH0&6FNO! - MB8(B3PDG1I;&3(0&;]0W(7#"YVB*N"F93 M8[+M;'?=DD_BHD2CZ#CV?3]">$&4QU,0OJT(8]D@IE;L=-![1$N[>'U;K:1. M5KZUD1_'\J +\P>D%2Y1VE[@I(0\ ;"[[Q!+ZA-2G!VLOJK$8%F,'#?4L>I+ M9:S%54_M.'2YSK#0\JU2HO]FE>\)2K4P.3GRCL*EPM2:*_?[)$1):#&-4Y(_ MTT $-/V>GAZC\9=Q1&X41?,;[?ON*W;(-+UHN@)(NX%NV4=>1MMRDJ$9S1!? MDRZ]3KE:G= /;*G'IG0]5=&UHM)FFB;/E%RZY.E9<_39!;[&U)XM/1U9>+1 M[:]:VV K&L1[\P.V"C&.DO0?(7?2/65%7X8@9,_RWNC#7USR:)I7],FK!32C M]^Q&S!OTD6]34! ?D6Y_.>OYL27\BTS],"L%V5XXMP= WS:SP*I% M-9*IWN+,:=>G2B"*7;:.\?>Q]Y8H$27MSR0R,4JV#= 1$3W<,)J(5[B\UV!5 M$9H0C&.FW)A*)#*;RL'7,.G,+8Q]-Y&"Y/:-!XP]$OC>N;KRN* M)MC3V F/[/C%J/?^Q'G!(:_2= )6W$AO.!4>K=$A[VPINJBTI8G\3";882LN M.U'B2Z&44 ])";I_@-Q+FM)$;W1D331E2U04?8DFZU>1%EK=CH+$1*9-=Y_Q MVN:WJ?9+O#,)WM_()-Q]#C'XV43_& MX3GR7M!;U#B#YKY5:>[+EC7;)^E:M7J[ST/WR[ $L^L,AK, %RSC?K5*J?PUBX;@G"UVFR[-I/ AARVT/) M.H@SSYA0CB[."[=(=ENIQBFBMZHR]9J8;T$F@D["-P?[-#].?F-6EI5.O,O_ MNZD7/OSPT=AQR?6/H KJB!I.5(%FMI2-1?3 UQQ\-6C;[I5*X ORZ%&/POT M8R+^B&5>&03*^J+I.0BE?H=DD8!EQR^QG9R+I\KLTW7R"6JYTN*K@EJN'E^M MM6IYQB,C^K@WPLECWC=#/Y"GX!(K:O+JJ-2S)ZKYWBWU&[R6&S[? [;/^"HY M;JG,;U)ZC\6:\UC 2:FK,=/ 2:D<7VF]:B8GA=;3A7A S^Y^QL*W(*J,LT)) M@/Q23Y\Z*R6V]_05JF'OZ9N4W=[3=P![#W:AHX.]KQY?]8SVGM7"#@*//"+Z M'^'JS[$;OU7&XNO4XI?=:.J5,9IZ!8RF#D83E"L!@0%&LWI\;6<-DE$T$+YZ MPC49>FAC(4L]?J(B!;%? 0+;!0((B)2!H@X&L'%]5F;9NBLF*T\G!E92+H@CIBQN)#%T!A%R4I+$+XC'STQ\9[N[KYT(WL<173/ M-O4"NC[RWB*7^<[O6H$JD*0["!USAZ.QMU@H ^JBCLB2.?$=0%\4Q55+3O6% M2O3%/\>$_C'K=< D_Y^TA\_D ZHYO" :A^3:8S".TU-EA#LW^@G:H(ZX43A9 MGP)M4!A7M50;:,FVIC@DW&.JX#8,;.P0X0?+7TM4G$#6@7=%\,Z<[$BF6Y)[ MK$$=;$>N.2 43M;(P' 7US-"FMF0_ T_D2B>F6QV;!C8['H" N2\>FR=-A[H M$D&GL;?P%=EQ$(*,UQ,,(.,E8ZO:-I#=EFW<5TQ-,Z5'PEA5551+:=NVK;;_ MK1FZG@JYW@*7O?* #FO*UNM5,P-8LJO7@?NHPOK\#7%@6)"?JV4S),56J7Y MY*/X&,GQY>-^#GUX2:X^RSF/#)A,LHR-UVF73NB\7J/.ZTO6+YF,2VOMMKE% M!VV]_K5W]WOW[K+YK=?[Q_7-K\+]0_?AZOO*'NPKWF7^4*@M@CK?XMR8MS?I MG8Y/EM4:Z6'@1K2"(22L\MZ$.W;8GQ#XPE<220FRU/SG=(M WZ5G2 A_)H.% MY(PD6N^=:#4U/51$^!#3>S86;]KX*++S+I";-!!B;9Z]M,US]+X_@9ZJY/KL MB4.,?'J50+"/"83)TR-LCT.BQ @%//02B<++P+4'L]]W_>? >\9"-'ZD1V/$ MM%0K=*.?R0KMV+>)K2=SH+=H"0_TO=;/98@<++#)K*(2"K'PB&@%Z2AT"=,) M=RCE@G$HD$F&Y X"?AUA.TZ[)M'GC\+@C^2HIR@M$.F/J4T4\#-[(CN*A'S5 MB!-3ODV^S1SRF9P>*,^=-V9.2-%$(DB(T\CYA4IDF M3IX?T2DE3V*F@XBX3V8>!],Y3 \^<9*K*9'I)S/$H:]/"=0B<;<0!4,LV(08 MY#EOP9C\ZA,30<^K[K]MHO CME%Z\-;;!!["2T#/R8K&Y)ED+K0J3Y$^D=<7 MV:_RI\E'+Z[G+7X6#8*QYRQ^.J207_PP84ZT^/'((_*T^"$%DNV.R+R7+MFK M'NA2C>DLC8WI^=Q+$TE!L>+.Y"[#D;?JJ2DJEC['1+T,5WUA%&+'7?6Z =7M M!#W3"T3>9R;@^F,\>XD=E(.?DG*G!">$?PG+R.6 96(BE^@J1 ;C<,@^)K0F M.(P8[AFPR:V))";2,BLEHD!/VHGQTYLH))R@7V?D9-=;PN\4:#X]M U%K-"* MXHW=,SFK)T5[ N8$];8;VN,A50?$S3V3@41P7"*_H4#Y0X_!(E+7#X,AF4- 2.C@R [= MQRS3:@D]0K8-TW8"=JI=^J;L;E,^"^YPA*@2Z;/#ZU+]@^P_QV[B'I+YT_/U M<$A^H6=X!-./_P@((P3ZCM2-3SE#0!BGQ$J4U!#]Q(EJ)?K-IHHA52>I?EE\ MT6@C!URJ"1[_8*\1))I.]ZO=_BJOW M;6PP%N0[C=F5"#:6HK_K^Q1#RZ;W'XNF]PVCB=V=-.1,;6_:E5/X0&_8F+LC MM;N(\H8 &443%;&$JFCYCB5MO?!J5I*Y)K(!=&I#CVPA3,FPNF0N7O!B'Y_HKC3ETI')% B?NJS:U.A3<_N MG,@G<5KIV\ZZ-NP+[X>R3:;Q;B-<.WE4H@"8DG"I37R_ R$>\3"B].$3@T*5 M9S(WPG9J189SQW;.N%'ANY@'[_TOZ;T\ERA,,HS8J=1A2YPSYK NO@1Q],GD M0S+61B,W)L]@I&37TN>2KZ73FPPASR8WLHEN]KS 1LE!I,D0=H <%5]R?4"\ MKLGGS-A1&4TU_?ANG>3Y8#! MTTU]4AB8XZ 2T%HS]%,*T5H&:*T::ZU/QP?S:F70O;W]VOMVW1.)_KK8ZB3Q M-ON+WLWEUO,=E]X'\\:7[C2CE*^'^;U=7#_?+RY"3I1I]OJ:V9_@Z%UKEZ-WC7:KW=8+/WI7:NG2KH?V MKI^LK+8DXQ"3-=L'FFR[R(."\Y;%%"I!5H8BE*43JJMTHO$B 58?:)PVUA)9 MM$S766M,B]G3J";T4.;HL07XC\C^^10&Q,UIIE.V;8R)AY53(HBB/@T%NE&$ M9\*/#:<;;WO3+"7,IC@+%-P_U)*$$WLE?%ZF4ZPUG MWRRD=^7IU3Z[K^=^X'\-4;)^/O;=^(ZF!,:1TV!K2V3R[ .[J34$!]ON$'G1 M+XTF 8B/AIB.;#XA-#JG&.OZ#OWGZAU@W?@"A>$;H<9OR!OCAI LCXHR).:W3:!'"6R1'@:A-8$1:2UXAIX8V-B3$G M7!8%'^^F\+.F13:)7U;GL=3BMT7A3YAR-^7)#=Y5NG02@$BBI.ZMSOD+0 !/ M&=5YD7@RB']@B+K$$YYJXZG?AGB$7(?M2/&CM/H]J5:WCY1,]H;1K)$K:T4Y#5EYE.)7/0:8V^; M_[X']C3:0E2215.. 19]],K_-URH#=3YLW+:=]] MQ4[S/S@,5HBH3 L(&>\Y\L, ;V7(N:_#VW:[H+"04C9DCC!7G;K(=?D;NDL[ M?F-Y&UK%-$KVLT/"_=09FX0OMQ[R8Q)97TU89%GB"$]5+T'N3;N3>9BVKV D:0;])NT%!AGVD^OK*7^^4?;_2,?"U M^474UGKT(A'5;G14751EGJ*WJGO;OP:!0QN9@DM]0L4\84)>@;$:'=T0)6/O M\!2\9WZQLT4%[X@=7>(0.U5WE*_]&/E/+NW2DB0RP"<^M>I]9TFRT$_;F M)X&6I,5OPD&#K0SWF&&W2ACJ!&.:F2RD2>=I9UGU//*D2Z?WCK53]WOE^AZU MZ5$P[2@S0F]T \,A-,S>H7=Y_9=5;U@9%R5C7YS;!%F[;8C4S49'%G5U[ZVX M_&6G0"RJ*189V_OL)Q:T%X2H<=7VKTY=V.BF/H&>IAV\83QM\ /K\BIT.O.^H(UX"]B]R@$"?R"*9OQV0:F34VE M#*VPIE(0&.Q:VFH7M$@&3EV!U:W[NW1ZHV.)1ING RL 22>H;]T?20:M<&WO MOTT'8H-CQP8E*-XMROH%GGUM6[\31@V0J[K-PCQ(A]V>;XMW$17ONV\H\V@ M%0"6J.NP-;+"H,K5:W!_4)FTC8HD*BI/^8CZ&B/^)@RO5H/]&&DO!7Y"_6KK M^)R)YMV5.ZU%D459*RJP+VGX7FTTY4PV[XXFUK]'LG@"4Y%+@B5(RG(4VM4U M)98]&9M7O&CM!CVG5=J[&#<7BTH4^=45<]G3L'DQIU$'01<-LZ@"PY,F8$OO MAU\$PZ'+3O9+]MY3&)!Y8]^FN_$_W 0Q%MH?3[U5.E.7A0SINQI;3)Q@C MF#[Z#7E4CR\Y:/20$H[B;4!(P0@Q]T9(FR^$',![X%:5?ME?E<*Z:$9!:>\M M*%8!@@(KY_PBQ-H7(6V)+X14/=O1)=.D)$:>,$*NTW1]P4[.XP*O])2;$:=L MN25+E_J MV;;'PS%K-",$R8[$8#@*\0#[D?N,!2^(3KX*63[A^K"7IH[(],EO*[;\3EC% MEOLO9AF5; 3^1KAU@^->_P&]KI PM='15^Q)7%IK ,^XC#A:TM)%X2B?&J>K MC:+17E;B)X'9\9*^IZL:"3&*QN$;Y'I/H:SG96O"B]D(-)_XZ,0+TD537ZX/ MR2X_X$MSC* MSO3^"#+X0E#5/>@['"/RH2-@%/IDPN NGS*O,>'&5K^3MTHMB%O4^VQ95W(^45[!HPN$Q#VR](-W(SAV#38 \ B68&\ 6G3]T=!% M72NJ'7=9SD,KBUWP%LY&*]A.;/'),M;>)QQ:==9878]M+)X^E=%IV;Y"ED)5IA+ 1](1[@ M")-7F@QL3;FZ2)YT4IK2,BEY1D'$:D'.0WIZC?N,/[VX3CR8X'KFBRG#I?>O MH$MM!INJHJNW\ M6[8:DR\-PLD;C- 3;CZ&&/ULHCYYP7/DO:"WJ'$V#TF"QP6ZKR/9#'I59HK6 MT*O?/QB]$I$A&B6@38T(GXD.P"$=1::#N)F+, BI0OW+=LZ91/JHLJ""0O?= M40'Y?(8ZJU"QEA4G4"1+1T$S,'=O;[_VOEWW1.'ZYF*]G',Z^XO>S>75S?W5 MI4!^NR?O<=E]('_GEUOLTH*+EUS3B462Y+67I=;Z:YMN*TLM4U-VNNWF M:VI;.\1D)7G7"6VZIJOK'[KK9*V6IABEF:MN9I[KBHB=OUW)91FY)0F6=$M-QFK=:LK9)[IJXKUCX3L8-(N&*>+4.,XM_'_M8 M4"4Q0ZIZZ\)122ES[[[N11?^9+$L(VNC,V92PCF257R+C2(I:E$OG*5-294( MIQ2A;BM*&P#5 4'%GPTHR\@C[<,^#(:VYS[34N5G[(^73H$];#40=U3(ONJ8 M^_U/M*B8\<7SK"K*TK:*6 :EKV$PI"EP>LO?W7AP,8[(^^'PZM7VQI0NW2C" MY']._HUD%FV5JIFB9!:UMYR;*H$ME7H@CR"/2_(HGUP>61M94]1T">01Y+'N M\GAR<:0;1=NJ*(-Y!'$$<51.+H]TVZVBB&9YZOK+$IJ79>21=CJ?5"@O@BAM M6Q],3Z3$KR-:;QA!9^UZWX,_B2S+R&,G'V<*C=);-.GX<[F]J4;TX(J%%E2& MB:46/F!JDUD/,O*I@TV>CHIMC>_VQ>:-##,^ZVQ/;'QUV[T=%,45.+2KP![KC$ M'6^PLVC"5Q,E@Z>C!P!WQ\Z='!UXY!4:'4L237/O/88'!QY_L4191AX[6\)A MS'-/<)\D4X8H_(EI,J5NH0R'W<5.$,K<8\^CV6??^3X!PE625,NM.FE'?E.4 M))[.N"@ZY02 VA:C% @HVI;?$"UK[V5& !3/@#H:GF@3>D,D,P8\51E/6X** M @&E$4#)HB7OG94[.*#X<\++,A(62#IW.,(HM H((KT\AT+NZI2O=%135$QBNJ-"@D_+C&UM7BQ2$P9+'XP M5IP[!)BJ$*:."2FST3$UT8)#!ZL-J:TUG45BJLVB"$GB7TWQYYV7920L.71^ MQ3ZFC1Y9#94S='TWBD/FLMX1-46=Z]@5!$0T[C4TN ,IDJCZKB@DHG')XFZ# L1E0;5EBBB:%0I;'G+ MDF7N4<6??UZ6D44>E"9;G._XNMRT]6+MCB](7^RT?2&Z#SQGEN)[5E+*:J-C M$'>\J#VID"GC$FJ[E(X7#C6MT6F+JK*WX0.H\0PU'I"FT\Y0H@9+2M6&VB[[ M$@K'FD&P9HBFRK\%Y<]/+LO(8Q]P>5(13 ZYM#?T<=C)J4])4IJ38T_D\5-5 ME:86HMRZR$PZ(IK[;T#.RZT2Y;-JC< ,[ME>"&PG"%3;125- 8$50^"! 6@U M.JHL$0"""@0 [AHU[(- A9W?3E2@5M2&*.CS5K*1=6@5_RV((J$?!L-)?!#X MN\4%A33EY$\E?=@O,(C("Y#?%I53;Q*+7?MV,,24":M4D-SH&.9RA@-MR?W* [2/,"A\,$CLO%1<)FL]%10=>4"#=%ILSSPZ5-X,*_KN'/BRS+R#IDP*_I$< XBO?V=&M2K;>E M^&5"SCG=<8/CW%$VW6$J:F:;^WH\J/T\G/N['DU+@%$E A@=JM(K#9?CZ!Z5 M-M<5V^K>F]L!3#R#:8L[G$?WT#4RG7]3Q9^'69:1=/C4,6/O=B2I;I;I4VF2MY#5N4&5Y\DJ3@Z(VI_NFL8H5 MLXA,)@"Z:H N(9[I$?":J$F 9\#SSI4O/ ':8!4TJK2\V;8L@.8O0BG+R#JL M*=S.!4T?'K&/^V[,ZNP_[A]#U20]DRE,(GHJSI$#F([GHF=10II$/.@" MZL_!0>9O9!V6&FYP+-!EAH-%>ROU"'=D^.OAWK]*^C-K;3U!U>[;>C29M;2W MI.42DK(D)7)GV4#<0-QV7_+93]S2;<7F/MN*0=Q W$HO;D>1-GH:LR9**]K5 M@[2!M-5(VK+&XON)6[)%7-&7,SME$3?^XN*RC-P2O_,W81A9SY$ 5!A9BI%' M*AD@)O;$Z5!AA$/RAL,A\6*B 0JQ*#RBR+59 V_']<8Q=O9H,:,2#\$)QH\> MKH6?FY\ )79T;W%X3Q&S.7FJK/5WKU#H$SI$D_M<)FB;.K?2NW.K;UY,+7HF M7Z@$K)J'T>A(+5U=R0$XSB*D4_?)4/J?4JA[)N4$X=@T<'8X'N4<7?$6E&FFJ;>=<[H:[;DJZL9R MRY9B>[CLA]3RM0\ R5P!]"T;X0XMFIM6F@J=<4&R:=#VV:*5)3P%V039W$\V M3RN:FU:"BIQP09+93JRF!%83)//@DKFEL>BA17/30DVA,RY&-@V)6WEO M0G5ED[_0ORPC(9<&(TLQD@'U+$9$FY!_'?>Y\YG\F'QCB,(GUV=:1V=&N%## M9K3T;99-D?[KTRB(7*I7ST/LH=A]QI_H?)HJ^_:B5D,1IC=H=#[(T[6U(UMC M96*-^T$0^T&,$QOB4]_23CK:$2-%+8_<-_J6@=LZ[NN:HUI66U8UU=)M1^EK MEBE3(Y7C\[.SEY:7U^AAZK2!\.E,D23T+R>6SR=A&1[CV;6_L MD+>)XL#^V:14H8@8TH8=K(V>@)/F'0**R#,\+WB)SID=F]RD,S5?6S%!OI6^ M5G)K^K;;7XV E()N:A83^T;8XZ%1A,\GOWR:@-;U&9'9ESZEVW%8UUG]U MU]O*4DNW=IOMYFMJ6RM\LE9+-Y7"YZJTE';Q_+):FF(<@*ZZNOZ9>\Q5S4;7 ME9Z*,;496Z,P:VGHBFC)QK0)YW'"I?:"?C971DL/@Q!CX3L9-XB$*]_!SN?' M\*SS][&/!542URZBJ)6GS+W[FI$N^T)G)@FP;OOHIC4[_DBG2(J: 3G;W[96 M)%.*$+8,A"DC;?:"4U&(*B/AE#R:JA+M?.^WN?IN$A0XY!2G#QQ]'7.Q?*"2)H0](40/V,2 M^ L?\"L1P\A]QO13!X]";+N)H%)Q1,. S/T_[(.]3C2N6LG\JES=%!UD 63B:+.C%R$+.Q6Z5'FMMZB J("KE$17C)**B45&1VLNG MGIU.5 K*=I0FQ+HG/$F2&4,4_L0TF0%'%JV7$_-0[I5.^TGN+0AP3 C/X&F? M1,D:]*A[25[NH@38JA"VK)-@RZ38:AO+=9V K>I@2]ER3M^!L$4+^D7-Y$EO MU2W_?H9[MLU85FRV:8 PF-1=Q(4=4J MF+,&;+UC:\MFCL-@RZ0GTHF2PE.T#M@J'%L%+:;EQ!9=:1/-]M[G9 *V>,96 M08M3.;&E-#J&V%:7CZ&"+..Q4/(K]G&(O*1*PQFZOAO%(=N/ LG&]>)RDO4K M4Z5FWK*6NV]"3%\A;)UDP<>DK6U$V=H[/ %L\8RM@A9)U_T(Z"#D(.0AY[A/9 MCR+C5J.C:*)A+G_9O@ICT1BAD6Y3C 8YH0Z[)P-:V'F I0V5*HAF* MT;]3 G58]YBU]TE?3E-:)EW^6^[T-NW=105GYHOIDZ7WKZ!'\M;C>/U7>.&A M-D^-V9]TMJQ[6M\V$+(4T[3;2+,L&2'#0GK;0:;JJ*KM_%M1&I,O#<+W)BE/ MN/D88O2SB?KD!<^1]X+>HL;9/.\(EQ;HOHYD,SQ5-[7_Z_K<( MV#P'3Z#'EAJT,!GHWMY^[7V[[HG"]C>75S?W5Y<"^>V>O,=E M]X'\M0/BQNZ("DRV9)-5 M=V\\N=SQ[:3![F*[L=41W>J@:/I.)>T#"1TR#]0ALXH8KV@706B_"#T] 52\ M$"Y#3\\)9HFTHTJ8V.KHF2O(A+1M(&T@;]]*V5&]R$''3:*,X M4=&7M\KS)VZYP\P2;E'IQ0,R5UR<4Z#L61() MH"51S;,P";('LEMA>SX449PV4BQ1CI='1 M#%&2EKMAY3[P^?3R/;^Q'K;19]I&#WOCUS!&+V1OO Y[XVNU-S[C)F38*L_I M5OG[A][%/_[6^W9Y=7?_/\+5/W]$5MJ9I6 M^/9GO27KZZ_NOE5;LPXQ5TTQ2S-7H.LAYFJT#+,LA*YYH9L"L23Q/30Z)N7+:1&9L)9"@)A:%E'%J*;=I=VQX/QQ[-FA3; J"B M0_E3,Z"0JC>T'*J#S)6FCI!W&,U1"B*PBCS0G* YJ]@XZR(8#@-?N*=G(=6X M?UC19"BIJKM%KM-T_1I38&Y5N<9T> @QBL;A6XU)<(=C1#X\7=#$GY$$<[I- M?7@HBH1NG2TIH\"7&NN-"S1RXUI'3-]6;%VIT>O7W8N\0J%/)EMG"+ 39C.\ M/W^&^Q2YQNJT1&6'/F4!/G237E#>=%W=C[!,Q:]+OF:0-= M-NQ5K*G\G@*W8F?<-FEC 2_7A4B[#:1[! M<&KE,)S\)8IJ6OJ^&M8,;L(CHDWT:8M][$>L(WA5#D@^I KF;Y$"N 1< BX! MEX!+U>!2D=F:KO/'.(K9&39=&^D?;VN_;0Q"5OS8,[ Q8PO<(?_'+N1 M&^-['#Z[-DZ\U3ML!T\^NPMS7'.OBR:E_I*Y?(PPH))K5(+N "X!EX!+]>%2 MD+ ]Y *P"7@$O )>#222WL M4O;KM!;6*H&%Y2]9!252,_B_"'PRFX@B/^@+Z2$6M%B*'@N59+?B(/V\._=Y MO8JH]LYFK6G4\$[_7G^FRUSR,5$A\@JYEZ5&1S&Y3VC#,@LLAI6.2^O]@36" MWM[6/W('^997RG>9VZY4&S0@VL EX!)P";@$7 (N 9ZK"I(0B\H=*#>Z&"-DQ92O%U*[E_#(%I5:R0K!;0KAV6!,NADX!)P";@$ M7 (N 9> 2\ EX!)P";A422[QE_. LI89U/3B 0Y9SY\0#[ ?N<]8<'WR-ZY7 MV0JGN47( .7@$O )> 2< FXQ"V7J(V.J:A0K%KN9 #\@U< B[QUY]G5RVLE4,+\Y=K*2PKP]^$822,A)$U+D$C M!D/PB.&H5YT9IPL2L&P$7 (N 9> 2\ EX!)P";@$7*HXEW+U[M&DC!TY2%3S MGA/+VY)'UAL=51=E6>*Y)P_@Z( ]H(K!D5$&'/&7=:EI$9RY$M=?D,=V"*)8 M^(Y">R"HLB@HDJ+N4P/W&(0.#IMQ,#JG8(H"SW4$^BHE%/R<6P8U>5NO%]H= M:Z;+2V\<1S'R*55R*P"ST5$DT=3D@A9=LO'MQ MY!P0?;\G3OQZ&@3D8QY/ MK7+8MD@;DS/:.A&'T=6?8S=^6R5&[0(VWY9)@D"59U/ERA%5N<7.H#'EO0^< M*!,0096#*L\J;9E4N2+53)6#!($$325(S2]!^:R40IM.RI8HF1H(&0A9580L M7XY8RYC;RV:PE$;'4I;C]]Q]7$&00)!._M+Y!"EK^_,"[)9*[)8NFKH!@@:" M5@%!RR5G2T=^%2Y>6J.CM479:(-7"#)62QG;LJ6F !G3B0G3)%$WRIPAY&^) M%XKU9R!_]8I#VXU8O]BD26PPH@BK6?5^WG6"+<=[;.P2RR[V$BI/R.^LDG^# M!(I['U /54-0(PA< BX!EX!+''C-6]J!K#&VFV>@8^P>F ",0=N 2 M< FX!%PZO>&4E_:I',!PMLMA./E+%-5T?\%J6#.X"8^(@(RUVL5^A"B.H,5N MYD0M1VL>P"7@$G )N 1Y]B_0 MR(V1Q]8\F#-P,>,+W.$_QV[DQO@>A\^NC1-O]0[;P9//[L(#+#G4,0*,7K%4,BT2R$3&HWZYPO'6?^@]$Y*F))$ M,^L,GGSP-0@?T.OOE/B!1TD6K5(+0"L EX!+P*6:C9P";@$7 (N 9> 2\ EX!)P";@$ M7"I+S@-J^&90TXL'.&0[04,\P'[D/F/!94>@U:LT#Y:F@$O )> 2< FX!%P" M+AUNOY"^9;\0\\@N9AVR]R-I)R42JU9/Z"G&ZM[K)X 2\ EX!)P MJ>):5LV8*W']!7EL2Q&*A;^/?2RHDB@HDJ+N4S.3GO^8O-:Y2N#D!.-'#R=G M0.YQ>BEW6B'G!B1=V9RJO0B&P\!G^XN234>]<1S%R*=4R:T=K$9'D41+*:H3 M5A% MS\!H,G$_-=&4]SXVNCH@!@,#!J80 [-%CK,9& 4,#,@FR&;1LJGEE\V_Y\)C\FWQBB M\,GU6:LF8[[)F(W]&(>-I'M6Y_-C>-:9=HGB^2YI&RY-:9DZN/U7UDUQM]F8+&WK-J;0 M.1GSU)C].0@GDQFA)]Q\##'ZV41],M=SY+V@MZAQ-L\$PH$%$JY[^QE^J:PQ MWII7[_W;!D*68IIV&VF6 M)2-D6$AO.\A4'56UG7^;C?SU!G%8/SB0[3 .]89QW: M"&$\-(KP^>273Q,-XOKL]=B7/J5W3P6$0F*A01M[7G+Y'2TM*4%,ZDJD3TXO MM]BEB2J;NZ:H+-\LA;4\VE#\U PJI>D/+H3K(7&E( MB[S#:(Y2$*$7#W (FA,TYT8J6.4$=W)4K<#.&B@"XT"&,JNZ6^0Z3=>O,04( M$$8A'F _GP$&(4C<.W&I/@#L>(?'BZH(D_(PGF=)OZ\% 4"=TZ6U)& M@2\UUAL7:.3&M8Z8O@515./7K[L7>85"GTRVSA!X"+)I /X,]RERC6O/C5MQ M=!S??+\?H!!G 7ZF5ZX5Z;K#8.S'Q>J,ZE '@%4^8!4;#<(C.7\D?Q:Z,%N^ M?!ZL;6,\V76 $0@[< FX!%P"+G%@.,TC&$ZK'(:3OT1136O?5\.:P:WYB C( MR"L.1]B/6*OB?>K>RR? 2< FX5 TN%9FMZ3I_C*-X2(\/ M> BZSJ1](VWL=>VGG4G8F@=S!BYF?($[_.?8C=P8W^/PV;5QXJW>83MX\ME= MF..:=UW4D!H=4[2,"A8+5!N4H#J 2\ EX%)]N%1D[H<[,RR7Q0SSEQ^"XJ09 M(?D-1S&9*JU-"LFOH6O'V$G+E*C 1*+@XYB5+K'*&N'%C0<#[#D4L$*,7C#TKOI( I23/?X+C73S[X&H0/Z/5W2OS HR2+ M5FD%!"3V404 M^?0 ]N0,"UHJ14^%2K);<9!^WIW[O%XE5'MGL]8T:GBG?Z\_TU(N^9BH$'F5 MW.N-CFX6U>8*EEFX=@B 2[PX!&LD?6L?X!T$W%@MX&5NO%)MU(!L Y> 2\ E MX!)P";@$7*H$E_A+R!26NN%OPC 21L+(&A<8]N(!#MDFU>DQ[(*WZ3S92J[' MP*H9< FX!%P"+@&7@$O I4-6SCMFU3_PT_(UX9Y,ZCMRU M&[2AJJAJ.L^U&X NT ' )>#2R37UMKJ[@VKJ=@DT-7\9&ZBRFT$[P=[NN1Q8 MUH#%)^ 2< FX!%P"+@&7@$O )> 2<.E0T;:Y=.[TFFB;1#7OX77NL)HV^-9$ MI;WV-N1+77Y"'?!L+*!:^H] >"*HL M"HJD*/L4WSP&H8/#9AR,SBF8HL!S'8&^2@D%/^>F*'/IB/;%35%T'^G,=JC> M.(YBY%.JY%8 5=JRJ7*M9JH< M) @D:"I!:GX)RFFE=-H\N"U:B@9"!D)6%2'+ER/6,N;V"A W@]9?Z:JU?_T5 MR!G(VTC5H"PF5)^1W5LA_6VIT M-!D:XY8+25!#6 8NY97WI=W5AY!W6OO!_]&.@"20]])Q*8]GWUXJ& 2Z(X@CZDW+0_P6Z"P&7@$O )>!23;E49+:FZ_PQCN(A]N/H M(>@22M [(N\6N 2< FX5%,NY;*PR]FOTUK8=@DL+'_)*BB1 MFL'_1>"3V404^4%?N/!0% E?TK16'*0?=),/ZE4VM7?^:DW;BW>*]_HS/0B3 MCXG2D%=)NM7HJ'MO&H*%E3)X , E7CR W78)[B+?EK12OCDZK0] Z(-7 (N M 9> 2\ EX!)PJ7I3^ M-62'?RU' 2< FX!%P"+@&7 M*LZE?+E-)6- 3>*:]P@Z;_\.2VMT%$NTS'TB:\ 1QSC*G)C9#T=Z&7#$7]ZE MIO4SYDIVUR$8N'O8Q\+JB0*BJ0H^]3// :A@\-F\EKG*H&3$XP?/2S0 MMYE.(YBY%.JY-8.!M$. MDBB;>Q^G5R!73[QV<#+@\I:7_>LIF)^#Z3R)\BH_<8L<,PFF[=UP&%W].7;C MMU4":A(!!=D$ U.D@=&.:&#:C8ZLB6UE[SVOU0$Q&!@P,(48F"URG,W 6&!@ M0#9!-HN633V_;.:RK*HD$(,(V%D94:".,-(&%F9D2#.,!)&5F8DB#.,A)&5&0GB#"-A9&5& M@CC#2!A9F9$@SC 21E9F)(@SC(21E1D)X@PC861E1H(XPT@869F13)S/8O3H M8?*OXSYW/I,?DV\,4?CD^JRWBSG?ELC&?HS#1L']=F1I6\,=4_NO1N=A@ 5D MV\&0//O-]9^$FR F=X\#X2+P'>Q'V*&_L58T*"9_?'5]Y-LN\H3[F'PP))./ M!!22N_B"2U[D*2271BB,A: OQ ,<8?)*DX&M:;^<"7F2M^Y\?@S/.DL7)\1( M9ZPI+5,G;S4*(I?VX#D/L8=B]QE_>G&=>#!I(33SQ;3/CO3^%?1(7F46K,_J2SI1V*W+YM(&0IIFFWD699,D*&A?2V@TS5457;^;?2;DR^ M- @G;S!"3[CY&&+TLXGZY 7/D?>"WJ+&V3Q>"5C3":ERBY)]'<5FD*VR1E]K MR-7O'XQ273Q/]YOKL]=B7/J5W3X6* M0F*AWQ1[7G+Y'2TM*4%,ZNBD3TXOM]BEB:*=NV9J+=,TUUZ66O+::YMN*TLM MW=)WNNWF:[JZ_J%[3;:=];;EL9*+3J_\?MS*KJ>6Y9."PVKTU8><=6]OO_:^ M7?=$X?KF8L$2 R25D\H$L1^!?V7DG^N3P",8DWLX4058 MN! %R0ISLE??9NNY9E;VH24@38%D6"$'"8J/TQZWG0G:]^ZK\)V,&D3"%8DJ M'!8V3TY,77M8:@4868)NSJL; J]XI_D>P/.-?C=V 5[1")AON"J2HF8GR.87 MSJ"F:D78]6Y1U&3K !P%PY!X >XJZW7#8X%+XB6()KG_:IYZ$)Y M#D_(=7R1G/'T(@*,:]\.AO@;04?N Q3T1D?71$E>/C\A]\%%)3K!!(2"GU?+ M)Q3*4:3":'0T351TDV>IJ( -YM9Y7 W5KO/'.(J3%?4X$$),P&F['A;\U#C3 M3^GO-O4R/XSIVKSK?Q1&8?#L.N2/Q[>5;N?Y/GXG+ZXE>(^I=,L6QQ"^Q"," M6Y( MF]L(F8V.K(JRJA=TM!5'_AD :[U#6]"VV^4M'?T M(;W^CPAW*5EG&7'U.J(EG[DEWJ(GC,O2\@GC.05^ Y@/94JRNI> L2VFY- @ MDR4*LG8)0%8!JU+6^.-Z.$)N2$-HD4;*$''L:#&8T+X3\V* PB>\D.CJNZ_8 M:?X'A\$J:97IBGA;D95/W'N!$%\V<>"JM4[??,F BOV@TZI]3@M+UC9[_?8:8O3YS\'++ ML-KH:*+2WFKY%1O=/:.T\'OY]EOR%HIL1T].?T( M@Z:!=%V"V@F( E9MD8@#^V?S$='B"-K6 /L1ZQ M5#H#P=^$RS*R-E%7+Q[@L%Y15A&IMNGZ*27?3>#3XL[$69XNE"YK.JO1,66N MRXCJU'MU/JMH M8R72GHL>70\J];D86:2WIIH3&1X64QU$DL8*O?I/P@GCFD05H,GIP%@Y3BJM+SD"@$% M!!0S::81>MLYQU03CVYG*S A\FU"XU5B:C8Z5AN"@?) YSB9I V(H<4T_!=E M54"UE]6W)Q@*Q]@1\'#D!6\83Y-&]7+TCZ3CKU(JW]$SK[#S[7W1,+?+9M&8 MW93WL080"? ,LJSU(X=$F2K1Y2N%[R*E"EB/$@<&B?78QVC4P[O;*:Y/Z;N/ M!,O43LCF\@(T;TX@A Y'#!V*0I="[8/1* MZTH?NNR+ZL69S:[3#$M.]4C7[W517K&R"HLVU<'7+HF[=0!;QI#6Z)0 /Z4S M _Q-N"PC@;"\."YE31OT%MH$SVR>J%<&X4AIY_FNKI-X[RVW.Z/3[E^&ND^9 M *01>$;8[CGGHB"65*+L==04Y!*J&_(FI8C[VHO2AB7'LA=S-67[Y =I8QC> M"\L@]#UVXKD0:+59"[']6PY!:+Q7H&'(+5/GV&+KWR;\N#+VX^(9L+>*YBG;,BM$6@_%='8ZT#&7%PL4>!2)5@6:: .AT8M M*9U9T2I[MZ714T"R I9KM77GP%IM.WK>]9]Q5,31\RD%#G?T?%9O^8B3K !P M2W;L[>TXM >(;C8/^@)Z1JY'U[.:1&F,4? BZ M]I]C-\3=":&_!N$](?,]MLS[J&)0%AJA,EG@^U%XY M3^$9Q"L\(RMOZJLX:+4;'5V4+*Y;-53 4)0L4+E (SU"5]Z" M@JI:R3VS#I;-.ZQ'^_5%A).$X*:36JEH%C-#J&M'=%-2P;\#_A MLHP$PO+BLG#K:Z]M6RR\N/%@$'ATOM2$"CXF7N> UCY$.(X]7+\EKD,4/:0' M@#P$A.2_OU.<%L!26G]!Q-A>7 W)3^] MT/6=^0]F1MZ2]Z#5X8O=T&UO3&E[]6H/D/^$[U",K_I];.?>8VK(1.,8HE3$ M_F4^3&&!.=KZ8CNK*>0U88<8;& M$^3H6;]M46GSWSJU H:$6Y]F-:JOB/.RUH1D3",EG#U7"12<8/SHX6F1?Z8= M &M5P"I"G5(#_/6$]*F,:N1*,^J-CJ*)EE94R\7B&'[B-0&0?)#\HB6_;?$D M^K3;JB*VS>4BTVJ)?NE<*OXF7):10%@@;+E& F&!L.4:"80%PI9K)! 6"%NN MD4!8(&RY1@)A@;#E&@F$/21ASV)Z)!3YUW&?.Y_)C\DW9C)Z-O9C'*9IV\[G MQ_"L,\TY;OC:'^,H=OMO26[0]1UREW/58,G[0O._LK0M :RPM@L#+/0#SPM> M:#$*>VUA%.(HJ8P20FP'_O]C[]V;U$:2O>&OHF#//L>.4#.Z7SPGB&C?YO%Y M9MQ^;<].G+]."*EHM!82JTNW>S_]FUDE"0$")! @H&)WVMV@2U56WBHK\Y>N M'_AE.XKFBGTR@#6GC) MZS<;5V+FQ(]^R**X*X<6Y8(R*A0!8Q;VA?4(G'E"WA2__%HPCQ]2JM*;?LT? MGT>1,:%\]: 8W\>^_O79]](I!N*'$@O&Y_*DB_6@ECL^],;6B:YL:O MI:&\\;MMCY6EH6[K>SUV^W>ZNOFE!PW6:O38'3IS9UJ,O79IS=$7XZ+3G/%8 MC=(>_SL+B:!*XM*)R*&TJ)Q-MC@7Z3>A%$E1FV1^=H7=>$V$4]IP5U=9-^<\ M.:78H&CU5DUA9[5<-W72?DL'Z0U2:&B#TJ4#\OOTG1/'+T"-?SA!UKJ]D&'2 M5!FCL^ZD5Y8)LT\9T/7*WI4*7I,,ENXESZ*9*H;2<:;*D8J53E1Y<4Z6^;JR M3_5I41H#@HA@JQD+3I*0/?LKWD1^_ X+MISE]3D*W2R.:8_4=>G !HKZ>JN( MOF6V\V**HVG=%MQB2GWCEAO8Z7RG4;C] 0<:VC.>B\QSD2^R"L&4>14"KT+@ MDM\/;^*THJ]<717"]O//RO&9L>'T[%RGF([K1C-X-V[4A<]12N@QXH;SQAS. M"_R:;RE\,&.^3 Q/P5Z$*7F,X:NY$Z?YZ6."YX'%A<.-IXOYH#0\^)M'B8^< M\"9&%&S_B2S.^Y#E*W?EJRTM;G'&,-0LW7Q+7PAO+9.B^A-'BV+B3US#<6S% M-%W+T6Q;=AS#=G3+/%"=0CN1O'Q/EQYTQ@@F^&TB685UU6W'[9/)T>C%Y 742133\_0WH !(C%?!<)S> MC$68QJAK_[9[Y4SLVS!F/_SM&TSH_?UW^.//S_=_ MOO^$OWW\]/G^\[M/][\+W[[#5W]\^/S]F[ ^W8;2J@VVTTA63I#-4D\29G3E MH9![%)^S&3S(%=; W58P'YTTB\G#Y&%.F# D"PNO,@?$#S/BW:-C8#N*;'E$ MU;R)ILFN[A#'&>ORQ' \6S8,:2 0\!/FR.9Q!H+-'HX2\C9+8,1)4O@*^>@V MIPTM9Y,@[U7)+"WS8L\2BW %"S[F)@7$H9UBY@RJ,Z;924&4><(X)[0 LP S@D9;H 85 MEY9VEL&$(K M :P5FG6P^1Z0+WX9"@]97+D670*/(#X:. W@3I"0J3NXR(4; M(EA ZF9X_J.?.D'P(J0Q$ V]2'R''Y=C(8DH@'L6X[# 0/")"[P<&-& M!IQ\^=8D [<3_J6Y4T2814#%4'B.XL 3Z3CP4["ZPC/!3W_0SW!DQ2,381X] MDWB2!4"S2?I,6_44Q!M2/J_R0 VG-]0YYA:=LT$\K#-K(:6M%GKK)'[R,/G" MLN\HP6"O\@UXSY\ MX3I/7BX&5+S\0M(B.N3Y#L\[FT0N3\6^DI;U5>.[GF$ MN+JGN+*FJ)ZC2[9#/'7LR(IGRNJJOOJ6S8",+RA-E7<+BY<+Q=NWZ[%:^=\] MF.7!2[9A*P180-85S=%TRQHKGFUXEB01RU&\6A>OGB'40EV>1#?2)[Y!\?3= M!BRS%Z>L\,,+^UG#$_HJ60U9&UNR,Y8FEJ7)8WD\5B:J2I2)1N0)-DI>X0GZ M0N2(*G-2;7 0B[1>N@NR=#M)O+YIS4(G\_R4[54;[UI!_]*47=BMLB-,?&;L MT71:3+RE?^?+,H]]N'\>P.0?20@F!RT6?$_F*;L7%?Z?(1T#?44BO/H_?[,4 M1?KUM_O[+_17^=?7U(K@-CGVR];(,"@_+(W04'A'XM3QP^J'S+3Y"1CI)$/C M$>(W.(3J":Q;G?'BX8OM]];)XC"%J0,F:DP(?5A.2!AQ-//!F'I#RJ@Q^@[! MBYCO[MM0/)E&60!>!G4ABC'_,PM9\(H. QV$8C%W3Z@PM3'KEP5T0>J[4[#.X-#X09YD39_R[<,[ <;QD8SC#!6Y+0J8V3@4 MD.%>B!/?D="K4&:PI6SRH!&N.+X!AS#>WC. M;$SB_#5RSAEKAKNY*?H2^U',L'Z_$C=PDH1: ^J\E(OS'JQ)[,]9B[?"*!FK M1N9RS$%+X[Y*F<@G\A&Q;31$V1J_^B5F-[^4=%^C&2A(?,'X/H.2DJ1Y"9 MZ='SA'[*]%(I68N6+4)"F!+.[YDC=S()@$T:L#+;F+'JDCS-@'[]GTE1]<+, MUTH :\6)N9@E.ZH7^F="'B8?8$HS=!06@FVN>IO@N-OZV%(US9*TL2PYIJD; M1)MHJB09NKP6,8$'(QN4C[Y=)W(GY:@3R?RALD*KUL5@3@JROY^^5%REU/J@8O)$@"]%:BM#&I1A M&7_@=$0SPFZF :4$JX2.$/SX"XU51 M'+-*P1BC9K1[%G(+<=A"EBHYH'U**E00_8 Y:D$4 M/MX%U/5D7" N45_$%V*L"2])U@8.RP;OA\?BHY"MYR6!P0UUPD\J6EVQ?PC^_&V*Y6<"O]:H57SU-"V8<:IPA=2-AXLRM?BVMB M4WEPY<*E1^+F)$4WOW#J7+K7\'P0MI@9OG0:)6O"&;ZPVDAV(<8'4:1?V%;( M$?#*F#(-[#:! Z.MYKBI@WNABOBH5O&#$R.N._:_H$V.-P9EK%4S233=E?7Q M1#>ML::.75N2G+&ER*HM$\>UW+6#!=BM_1XE"3(IK-\,-A,"?>7MVLN=)*1$ M"PJBN8QHK,4\;GS+.F-4_/3CI-P+HF\KW%-I8[^_+>]'609]ZCJHR.$9+U3; M X7\-& :LGQPX(-B\JKA$#R[P$TJ3BX7YI@^)28P"H(O&?OA(CS#JI/'H-B? M:V6R%;=^'H]=4[;& MLN&HLN99WM@V7,V299,8$]=1[%4>;EU^3D\D\J$*#ANK$-+!XM2=1>SD>TG)]E='.7?G;D/(;BW48Z=>Z MS4K;ZW6VQAT^)4E&/,P^W#7MP@!/.&\VY\VU-M\GXDT9 M>%,3;76]+S?G3/.B MP90:,L_O)$G>"&O^>!8^D00_J*"#Y,YY)0TB)O,L=J=.0O9RTZ\4@Z>'GOBB M9/Y;2H\ UZ53H^7 O4'FX3S4-X^Y 0_I@Y'&>>C*>>BX+&0,1B9GH2MGH4,\ MT 8\9/9+#?& ;C6@^ZLPQMU#GCZ%,"EKC>_/M"$\%I#5Y9=<7UMG3:[L7.H_C* MNKO)I91+:;^V3YT)J7+2_=[!,JHR2RIQ2\IE]$+VIP?SO':J\7:F5/3\8&?] M//QJI)0W[#S[E7P)SGXE7X*S7\F7X.Q7\B4X^Y5\"83X\CX%C*3G?@B! MMWQ*R#HXI/Y=^7T.A0LYJ&$'EO@IOH"6%O[@G!VSOT8"S':>]0BV+1 +ZY'5 _>:Z 'L=1"+^Z M#)]H.P2R?5-HDV0%C'F)4,*]%\VK.1/7@0HDZS#W3Z'PX*81@L$HDB(ST+$% MFE6%)M\P5.G$8 _>1O"/\&KP\?[;6]I: //3ZR_]"D6?"02%&L/D&?C8J^_1'"3,DO37;ZK30PN)PHT!UBJ$7?G9 M[Q4L.VHEBV\8/*?PKFB$<&0J;)VS.,AQ]DI 0[<8?P50L/QL"5G0I7L=!7AI/8Z_5V$L&?+%-^ZB#0M_^(ZT88"F2QY,D0B/UG(;-+33*H"$Q\ M/):@8+ )+#8\(J38LNBOK?=8FW7BT#!) MX\(Z<:AM.W%\HK4KE)2?PO=DG-Z'WA]._(/0;1KV"TQ?OB&H.%4@V#&>H1U_ MCVE'&J9$WY< IS7NR!I&KBPKFN6JQE@F$VUL>+8VGKBVXYF*:5@&=G!8=E\6 M0Q06(Z%JZ2/BA=).]<(?3$/-F-_6NEG'[C$MSV&B6Z[I3E37M#7-(>[8ELR) MIYJ6.]:E\5C:Q^GJHX=52_L#,-07('SW3XX?((]]C.)O3D 6C_^ZA(2W 8_/ MMB[7R]VZI:Q0/%EP>P5N'&R!4]#N#M3Y70+4$_*. ,0K 8-+J$&'@@360>Z# M"-7"Y"OLKS4@P.U>-%6 Y@;DO],B^,&>>2BQ?7-;"#]-'>JJWCG0FJP,%>DH MJ' R'^R%#=9J]-B&"&.;!/N?!<3ST]1V;7.![8'(UW4 MK(-K<"\,@XA++I?TL[3'QW?BX+Z,3_ M2;R[?Y,X6I=-F!"&52U%5G[ETLFE\PJE\U4?Q!/-9D4\U\40BT_7,?I><^'C MPG?)PG4IT8[2C0 M[M7>4)/4P4B61<4X&#N9@WQ=,%.>?-NC=;;MX7S7:X?^2(RWTZ'7!R-%76]6 MT-RCYWQUP?KL1+ZJ08VGI/0)J)<7H9VGNN\JSL*^QS3'\6!7OV;JUZB%=N"\ M],S5-T%;*:JH6UWMK7L4T.)'HQ, M>QT8LG5\GO/5)6JLTWCSLH3V41%-NZL>=SR\W-#KC%(GJ*LX\.L*%=INJHZ, MKM@[:C8_[.J>0->CD[1+3:X=C M;;%DI;NF8%S"N83?F(2WVNL>2<17MKHM[3R>UHN2<4BF&A=_+OZW*?XG<_\[ MBTAH(.ZJ+2KFP1&)WDC],D#CMC)_BY?Y7TDQ.A\L+_,_1WEKB3-58([P4G]> MZG]L$O)2?U[JWT-:\E)_7NK/JZ+V.)M6+^H@2(<=HREJ-;D2/2V?X@6-7'3/ M)+I'.Z4Q!J.+*5_D\L?E[VCI@D<2P%WI@C)F.LN\G)]+WY5)W^DOY6\C1964"VE3>=*FK1, >G?1SIFS,E*>NYU>Z@S'C?-=K ME_XT:5'K#"8/1G4(EKR>O[=\=3HCVY6SJBC4>%),^-XH,5[/S^OY>3W_:;20 M?DFNOJ(.1I8L&I+>HW)%7AQ[:J8\N:O?'707Y[M>N_I'8KR#*B 4/. 6=9UC M 5P0VYW.!G>V$S# MDJBI/4)T.06(M,<"H#7 O5-)5W6KH">?1NP+;"OIF:( M5PIR[7"IVN%826:*U4&2&9=P+N&W*>&M=L*]W C;(/^BK'< <#_U,#!9!/[7,V@W5UZZ !\O$:L,Q5L !U613_F26I M/WEA'_FA1\+TC6I097%B=E-HOETB1!,!NXZSM2I:CXM".B7(77B+X(?"!&OS MGK V3Q@3V X*3EF0Z\+^41@[B9\(STXBA%&*?)KXL$;P;00/BN%I,+>4S+#( M+7X1X#(_%> &> @1 O\'"5[8-7CW,Q&>_2 0IE'@T7$LXBH@#ZD?","?^,&+ M$,5"3-P(5O,%)X(7+X8S%/8&UOCT^>,!N^GZ#7,SB:LYXI 6PB8?H"'Z.B=E M,/HF.M0\$IQ@!/EMPZ1B$@!;>TD^:QN8HER+7@!;QD!5K)0!9JRC3S[_) M:_6!K0J-1E7#DF9860!YE>*?RA$E[P(G2?R)3[RW+^_@+IQHY@1_Y+S]'ARS M[SB=[_"XMT'D_EB0#-0O 4+.X<$ID'W07!_U6QU]!_E=:!JZ,DU7513&+["J M,]B= CO29<@)6FH+47! VSC(+\?K.\K!O 7\PK '_1 M[,U?]P^B1.6#O;#!G@;\Q;Y,[!A# QLY!MI^.LO/YWZX4-( M_@?X;RFJT3K:J776SX!7\G/QY.*Y)IYH**F=;"V:>F>8Q%PTN6A>N&BVS PX M@>4T!B-;$BV% U!QZ>32V2?#:0Y&%MC-RX%FO(5Z ]PU.YA]O=@XIU.8U.,4 M_R7L(PZ/RA^78[&YHT&"FZ:!X.N\=9\'99<&]?5Y,I^\F&W"/VNX5#H".5 MSR[O.'C^_ D(=#U*ZJ+P,S7E2"=/%U!=TTV$C6L'KATNK=&FIA[I4(M+/9=Z M+O47#JFA:9U!:G#MP+4#UPX747&KZ9U5W/9&ZCNLN%TIT.I9A5N[:L%O[I1X M64 >)E\KZ"MH*C94!FH&8UD_! :[1Y:2+.*ZEN)J-I@+178<=ZQ)NFQ.9-L8 MF\!+*Y6$[X%[PT=6=NO_%&;PL&DBD!!K)6NJ))W0H\4;(E;M3AW@->#6A'X\ M*\-X6,>WH6AO6S7>"@,L5>?AE_E$'58O6N&/G.*:,C2QFFX>)3Y>\R8F 5S\ M1!9%=']?+IW,.4I:W.*,@=FS=/,M=;6 YV L65HA4.7G-%X4,CR2NW%,G!]W M]'#YC1,\.R_)X)=E^0)16J'AINDOEY9NGOMDP%%F_RP5YV6:PB7V8]Z#?P-OY@WL:'TMNH+Y3EQ:&;6M(7 M;J* ?B+O1]\!(7^G ".BR 7P2L7P<*'_ @N) K=PV1[0F[K$RKL]2Q*,C>'7!:Y+#:7Q<5N M[DM,YLX+A0F]#[UW3A DVX2TK8#J%+09)/1BBK%OH>3S_I&$[L$=46^CP,0V MN]O*-?8R=9D7T''F.M(61EOM M\"J+M!08+-G.K?S*Y2MOX0#J>TR<)(L/=MAOI'VR=0Z'7>8ZKL-NGN/1RZ>V=]+;<[QA2U]%C+MM,1L/*/S;&(NB%P0^S3Q8PGBZ8XP MC,%(447;[A@:_6R%[?TK[;F4*SEA^U+;=8DIN!W5=MU&O2G<<8[01'?%$;R: M^?JYJ^VNF_=IY]QU[ TE;\C.>>QL>R430T:O+6K-&6"T_60ID]\ MXZ$/>G!%9JQI;+Y@&VK?ZJ>J]F.F]6V.OR)[ MTP[5C>;PO*E;YW$3]:[;IMK7;3;$WNI\K OWGIOV!$=12H1Y3!)LXQUEL3#Q0R=T?2<0'$HSVO@[\)VQ'[#.W[.Z8J ?'2$NUW*,=,5>X-%D4Y/Q]\0ELS&)\Z]D5EUNXAVE?](MO3DT M]9[+PA] VQ"MJ-K)B=:9G*R+@CT8F?;!")J\74NO M&4@_O:-C=0>_WF/F.D88A#.L+.WH0G^(QK/DOFD\7OK-2[_WEJLRH>H.5/-= M LPN^.$325),+ZDX6/L%Q=MO^*[I&:<);6\;5Z>[@OY'KW? 3'(363&1.YIF M;Z^I^/#3#3*DS[WKQAGQ/N'I)BB-G0Z>M+"CG==7]-'!XYPF2P=UJVW&:;MC M-I:*,1M-5ZZ8V?ANXC@,?! ,9F<,K/6/@6_L%7]OBHC'.:+!_4'K(S_6P,1K(L2LK!]40]YK93>QBWPL$'%;AWQL%F#SF8 M!S?[$MR\P,Q>QK;L)S\T;J>2=B17G$@E6:"2%$4T[8/[L_9XW\[9399WY"@< M:;=0X;3NP E[S&D\0G0<[MV1('$:96E+?526MW"(V@[B,)_@_G@1J[5F5YJW MVB&!KDG7[,AM86@.'62YVC*J$TNTY*[R7+M;T)X7=7#1YJ*]CVCO.)/O3K05 M$&U#U*RNL)"O1K*/X2ES;<&UQ3&TQ8Z\BNZTA0K:0M-%Q;X>1Z &+6T#*I)" M]0.'0#H_JM!%#?:(AH1#('4 ?U( K D%MAJ'06J"XB-P!"2.@'0EB\(1D#@" M4A\&>4,(2."8*'W/\N002#>,*2'OR/4^&J:$C7#DLFB;!Y_=]2]]D,O+UUG; %)K-WSUW$ Z;8[0]TU;N\Q<_&\U>,P;'?(<"T5HMT_A7@+B:H< M[:?'V[2#QW5K[B^'^VFNZ4]0H;"M&E^7;@+/D7.:K.S(3S])+8PN8?*Z*:J] M\C"X5WP9''P":+0&'*STD(-O[2R8(_ZTD9L3 +UM]S&ZZ^?>XX,ASFFRT@=$ M-EW2J(:F+32OEMLXXL]1.%@] 3I: P[6>\C!'/&GWX@_%^.\\=/1=BJI#S!Z MNF0,1I8D2MK!(&0]WKAS;I/5$T#>;=\L=-=)K\>/J"CZ9+50UUY M"\>H'.^'E_F?3-7LR-'HJLQ?ES G0U%%5>H*__7\9?X<[X>+=H]%>\>A?&>B M+4N#D:J)FLSQ?GI0;L&U!=<6^VB+$P'_Z3+F3NBF:,K7XPC4X/WD4_NV$=^Z)$P?:,:5,FQ+47!'#'+:!%0+?&?L!W>P*SGP>1S^!MU(BI#"V6)@ 3PI/R)3"F+A.EA < M$7PG)-,H3@6X%'?*+_FG\+6?DEDR%$H^VP#05+] :J\7Z.."&""60I3%0HZL M4I^**_B),'82(#(HB+PJ?0[+!=_@_3[.!]E><*C\#X6'\HE*]3'/)";L1D\8 MOP@._1V9Y(F$7A0/!>20^6 ^M[+UU-36,NJ>93X>,V;F 1P\1-9H'BACJ_R=TX)LZ/.V<",WSC!,_.2S+X95GD0;I7"+^)9LNZ8#/!)I.C$8QI M&["QF)^,"PU&D<1X%0S'Z3^6+A2"G/C0(T0[QX],$U2#=O3/$LCFC9VQV/5 M-25--TU'(Q--@QTA 8=LCI(/EA6A>>9^ZJ 6]H3BC4)E0+ 8"1KQD*1K'LW2 MTJPH-":P.TI19EHAI"J:L3W\!%1J^->W6U MDF*UO,IJN;A:S!8[:,"#('I.A%=@,=-IE,&KO>3UFYU^#Q4G^;* *0U[:.O* MY2!(FI9U.8/5I6:/[0[7<(]++P(4[K^SD BJ)%(T.(5F1NVLA+M66E0Q,@MZ MM,+)[ H<#_3=N4K,&BET48!9)INSBPXXR=]UW\W&"EO/_WI"@3NKMC=Z7[\A MF[:.!VJL$8BL==5[NC>G USXN/"U%+X=9W:="Q^F:"NV:&KVI0C?B3* SN<4 M_$Z2Y(UP[[K9+ LWT?91[CMP4C5155>]WDO M5;@[S DSK^94\C]:Y20N5['K;=QD6#^:H=.,$8V2$17L,BT'FF_71:7">DD> VD\@4Z\Q(6[H=()25L%ZOO=YQ'?7:!%.76FR0'O*\/LLSI-7 M\R7&"VN?M;S4(MA0 7-M(IJO.^E&<&ERU19RO: ;K@T3' M<[CN=1:#7)4JH/HD"X*7(B9/L]J;:-O5=/..$]\^9FFVS-H?F''8D!&'"$$[ M,^(N,@&>$F+IR.10.^G0$H=EV?9!3&'>,W8^LS'7KDFJG7Y9F7:6-M04XW*2 MUPQ-VS]YS6Z26M6[ ,C_$"=.A \A#EA82K.ZM=:C#5/L.@^YW4#0[$K#7AMB MVKM\C!K+^Y7,'+2'\'DGX><6+OT85IECB!U)N+X_1ZV%2QV,=%&2NTKJ MY8:KL6P9W'!=DFQA"+"U=&FTP]DE(2M?A>5BU%W_22'[:H-.EY7-=0L;UZZH M<_4*[3BI'JK>FSRN4^5Y<+B/5;@/93DPOB?X;G&;:I2:9M2:8FNPH0F*B> M9;FK!WN+MPGL=?O">>Q\<<-3S8(BBX/-CSY8)_([:+LUVFPZOS2O M&CLC8, M8 MIEOA)R@[X,46 G2SB2<[2V:((#J9+P&:]X&%/LY-&N183X.2'C[8]M'1U MG[-'U1S:]G%0/O9[ZM:S1W6HVLW.'OE@KWRPS&N*GG'57MHKML6V?W 6X MB2)?)KK)4KI(FW/WXZ#DM$EW[S=A:9T[XZ]W.1(I18^AL+1-HBU-*'%3%*W4 ME%)*WK$??/A$RR0/C=GR!.JT"3 MGFX,/@HV,Q%LM006*X*=P]2?+K&,(LK*.J=QI,;>,MFI>&R/W#A-0W[2[6O67(=Y$+UEIPT.'+CRQW'@ M= JIT;$'=VD!\._$G8;PKL<77DYT7#VHR2?VX8S!R!!UM2M8\C[N!]T.\MFTX_ALNGJ$4]-+B[E]<>(T/$7.*=_"5CAZ1S>&W>[:NM+3!B.C M5[ARG&^.X(_MSS@;_;%U5M+K68D'T'K+1:=BHG8!--W@ ;2K"Z 91W+&3$1N MO_$ VN'94?7CBPA?=&HQ,4=5X\.S2V*JELW;V MD@[=QL-00S)X\.QRF.Q4/%8?/#,D4$XU?82O1S7=6/#L2"4'QC%*#BXM>/8^ MPIX !QQQ\EUK M,>LM$YV*AS9X61I8SRM6/+<5$]./5!5@Z+RL<_3%27D0[/@J3C^X(F!=R1F# MD:+WJ1L/YYON_:L#&*>%?V76LQ(/8_66BT[%1.V.)(WN+2CY33 M;]@'NU\%QC;<3K8O%+]RWRNO/LK(NA'YJ]CR.>Y_]U''7?=M[=#"FQ$=3)J+ MT,5=="+J^F#=E,!+5$1+ZAAKZZ#EO R(.R[,-RG,K;9Z^TMS1^D,)M8"V:(B M69U!5'+1YJ)]G:)]&LG> Q7)5 8C5=3M@PNTKD>2;_7X6N967?^ Q>$)1+(FQ7%4TEB??V'B:G1RL&IT1<2LMP73]2&<@)J\=X2W! M3J4?C1/O$RS>$NPRV:JE![P_7W7E =.FN):U#HC!2T]ZRV2GXK$]DE\L3%$5 M+64=D>=Z-->-59^8QW'@+)FW!.,MP4ZH!ZW3^G"6PEN"729;M?3A]N>KCGPX M2^4MP2Z.R4[%8^W*ARV-(QI?71:R?20'3N<>-JX;4 M.I@Z%Z&1&UEW_:2G[X9DG+)O6/,5O0PH/"[5-RS5K79^^XMU-\D/AH250Z9H MUYQ6=]M C,LXE_&KD?'3B'C[W!-#HC!PEGJ23F(7(](W>J1B2D?:T]M8QF^V M;2:V>OEZ<[&H4JTAY-*9XO-G,1B84$B@Q=Q#RH<1H3U M>2H[YME^A$K70\1CC.&Z@5M;BL3_N;X0PHXU& K;=>KJ\+^Y4^)E 8DF6PSY MQRS-8E*=Z0N)T"H.0PLC3,R&+$W"LY^"L5)A&BR0BX?J C*\Y/6;C49A2S])G2I7TW72TH>: MUJR#7[OOCM)N4!X:2K,!U<:.[7XUH6OH3]%^2L*'$ *)4LW/K#HVGFEV.L'V&YWY_)L$3^8.ZRW6B9,"6WSPXJM1ANL>-&&&=E\1< MCB"AD?K^7)U)=#5ZZ[CI @I\F"DBKI]_A2AKK*$EG-- M5LX1J]DGRY]O/(RLOMXEL%!QLU23?/TU96CB4^91XN.;WC#4X">R.$)$_JC< MF--.6MSBC(%,6;KYEDU#/'7*BJPNDZ/Z$X=+3W$GKN$XMF*:KN5HMBT[CF$[ MNN4YINJIJNO]KV8/BINF\>+@\)'T?ZX)(+7>2Y/$SR(18C+ :X(95%69OB]N2\ MBHS2Q>U+9EZ^+J18E]S'3)!HB9]@4@Q( *8=L<083"!828T1&N8HRNMDN*0T M%\,>6I)QA#07U=*Z3W,!DV%9EY*3 X.UE?USN8;;+M=)B*=,IIX=R6RB$A8)_R MHQE;_B/GRG=9'(/V:+WEUW"C)NI*QWO^XVWIN<1QB3M//5Y'$H>IAXHH&>:E M2-S58^ 5%GX:I1HQR)?"V^%4M1"M*ZK%B#D2[K/4HDXIQR M(IW;EE,PYG@.,7I_-[^H:=VAK/:OP%S"-FF&:B;,@1Z MEX;* >H.)LWU&)H=<;HBRR=/?_K==\9^X*?^WH$651F,5%G4M(X#XP>MYV6< M4G%IYM)\6*BT>VG&?N2:J)I=[?'/*2>G,M$)Z4\WM2&^+@!$FTRU+T:63EV^*A]T4G>E'PZ$/_<&)W*L@Y?-JK0=VU@]=#X3NL M1*?(C; QQ&!'F#LBESY@L M(3!Z;Y7+ABOYX;7%&9@3Y)?P M\7?B8(+U6FZU:JRFF]MCQ1QK[D0R)%/S+ GHIHTETW0(T0Q-(ZNYV.S)>^26 M[W[1\L!<2[,GAJS(IF9KKJ&,/<.;V&-+!ZVO61-MK[3P7NK6(Z5%E@J@>HD$:;.$ZHH1+HJKQ= 2&:)$&.5%WPVB:.9L#0/1.2]\W_> M37T/IOH&V< \MLJ-I.ZD9/%S6,4F%,X.88M-]C".Q#,3/! M *1( 62':)E/!.J@W$63NRQ9X'#"\]BWP<)5PP?Y*>)QXEMB^#H*P6=Y$]0>( AL$<[A3%*P->BST3BXH.<\ 5Q0GTO M ]# ,6!H$ XU]^!*N2H$LU%BZT1,)X1IXR;M\1/EJ%L^= MQ]&3GU"ZX0+#GT"+].6NL-;,/M-I.#&!-\,[T >D7<(IKBG>QM@(G9684#A3 M+,2 R\2L#-Z(?[ T%84T'MM'> M,%OT<3:4Q&A2!R4QO=1]Z,H R6$E*#L!IS,6*Y!G*]*0>P>@7SQ&?OB-^O.4 M [ZE\,^L>$@NQ\@OSP11;;>@S]Y"A8TF#S5-O9Q:F(LJW+FHP1ZMRD@_2971 MX2#!IZR(;E9+0_&K! :DB$C"Q-NHE'HRXK(2:GE+=D 9U#6NZS?_Y[6L:G?% M@6VRTOM= M<4[[K)A&^-<$JWI9-711O.5)TPU2T@7*U$CN@V^'@%75=]'GA3 M!6TKYP%KIW[+83 ,3+0]YM.P^Y$HJQTW@^7EH_UB.BYM[?N.'4/:L >7J-5T M9.72QJ7MQJ3MZ,*&W>1$I>L$%BYL_>(Y+FSM6S4>0]HTE#:[L^+!:T%%."N+ M_*,X7]V\[>25.8UW6P4U*S*R+@;Z8*1I'+7@JOEDA^O2B$\,4)?Z>C=>SB=7 MQ">MV:2ER45D"U%2>+WH57/1#M>MD;:Q!B/5/-@UZQ\ "EMN9:CH/??$UJL* M#SX)V .6_X:V=P=3YXHTR Z_=G\#9*,!TLU-Y0-G6KK+B+]P\>7BV\EV8V_Q MU2447U.1N/AR\>7B>YY=X/[22YL]*?9)JNVY]'+IO4WIW;'[WE]\%2:^5V)\ MKQC]J-?82_T;\*5UJ("LZ]C8O.D9U=MYK^VP"I>RH;)3 MW[_96;MIG= 8TL).2HBR/K=:G5RI2SZP-G-;\\V+*9C\F;O5K>,AF#\JB:ITA;ES7$*N M54)VH')V*R$Z2(@J:E8/\WB*=Q6$U!GLSNG=D%X_X[HQ?(;@,@K@:4BIY8_F?AH<=UVPPZZ9X/0:S ME4M9Z)*7/3&L=4Q[%:7#T^S[U]",2\BU2D@KE_)@";%10E2]JR027IBW7YBE MSC+R4HANC,?G*'3WDPY# NFP15W7>K3CXA4V_="X!["5/!CIDJBH%]29[>H* M.?SSM>RY[LG+M5)M#[_;4]BY>W)1)@?BY)AL)] M(CC85R4+4OIT;-X1X^-A^OYL[O@Q-NC ;3K7B9O[U[VJ7STP^3W"/2@_T0\ MEA[U?TG@?8SB/Q/2MH.9@;WC[.$F95AT,'.QA4Q"(R['FQ;K341G]"'/ZL9O$>:Y8>?>0^>CJ=K#$9JF]D6S87H7,F_ M,G].N;:N^5^]&+ ^3^X45$61XUQ* MX*\O,;"6%. 7V%X\W\$'@(Y_BT: *- M_6[P'2W[W0QW)4U?HC+[% K_[82@OUX6#2=I6BIM"P1K!D,"K@H]NE+P=]D0 M;-&KJNRJ]@TN?N^3QTB8."YUE817>/U@\05CM-=#X2_:;0W^RO!5BZ<6.WO& M) L]![]Z&1.*I5&L7+^6_"9D2:&MP6JYX$VE FW\YJ3TPUGD^,D#1 MCXII6]8=R1$>43>WUD.F6B^BM*#A-WCD[U&2/(1_5,8 BI;)XKJXF8.14J,V MA4+2]FOC-%QIKU7?_G$Y6T13AB;R]3QB_3??4"$'&5LD[?]]N=XBEPUI<8LS MAK%EZ>9;CMZ[HZ&(R-H*@2H_IV4>S=QY)'?CF#@_[IP)#/:-$SP[+\G@EV5- M 4IAA8:;IK];.E)2',DA9X4V&1@.O@N$XO1F+,(U1WOZVNSTI M2!"M%D()P&Z** W_]8LSJEO@VE:;';;.[+]=P,*(#4:A\'R73 /5T+2YH8!! M=E8FA+XQNKI1"@)"=33M[9O1UH'TLD"8LR:Y0C0&4N3-Y>CRTF>M& ]AGL5) MYK!7EGT'9XX'3QV5IE:]N]JF67J6COV]IULE"7[VCB2XVD0RU/ MQZ:RK4W,H>YP*U8(C>!=,^;!FG^NM M<\NHW1_8K13^W5 N:FYM!-I?1?V1:5+TY&:/O864U?_!=LZ@ M6FA_X"5=<$CU72\RN:ELG(.FU1+63M]OH#G:.8":/2'J@SMU6".Q8]!#;#OQ M2GY=W_*25^) YN2CCPX@ M*I;/)'V8?*?MS^_1CJ$!K#F=,^7!R+35-??P]07G]%R$EM*N2$LURLUKFNC= M/['N(%.FN3"C[#Z$I%Y\VYV\F\I@I(N2L2[=/%GZR-*M\ZSH?9/)MDI)$7%Z MGQ$4E._/46NA4 W9-U*2NFJ2=.QG^ M*NP1KO8;3#7.6$H<'@;OV9KT@:MI=%:AVOI8'Z:3ENJ7- M*2WY"^]0B-[(5O=9/PV.KY1#CJ^$HQRZ=9*KA%4$F(+WLC$IA"8G8:XCGAX* MF%-Z'WCNZ M"(\D='V2O <'-8@P)7D]E])2&!/"BA'O'CG'(..Q)RF.I$L3S=9E9^*:BD0D MB\C&F#C.:NYEY<64XY=>O\0K-D%Q1[)\F<('TIB?:%Q$ M'U<.872O_\&^)]]9,?,'_,;H99EW.Z4Q:3TNHG]7?A7QEL#H5DBFX,.BY3 MTIR3YH'C5JME6[(2$LUU0=%2GRLF\RA&%\H-''^6B%3A H6##$MJ0I0$(%)* M1PD:GQ704N? $\99*H11NGA&_OZRTA?D&BA3&:'(I"FAC!N3)P(V0A@3U\&* MS6?\U6%N8 RTK18/@QL'T@PRP(8Y%![@/:3.G=VXV3B5+LH)YE46M(;0!9TW M4+*X:%.2/MY=>,?Y5\Q%5JC^.J>?WX5_6L;)"A)^C.)WE"2HDM@O'MH@5N!. M*[L+[55HK);;W(H/JZ,KO@Y"*^SMA>M]G*6!16CKGGHQ2W')2\_U0E*H!FH6 MC\QE&UV=>K[;B5U]#F$0HJUH V^=@.KV;U-"TMT8 _UWQ#[UECV^@&YU?&^! M T&K49=X9KE?SEG891^%CSY$9T&!1C[@>T)#4!0&YB]P0[ZCP_$%_8W[Y!V6 M<:6(P@':[!OS/EI7R%H4[6 ][:103KTT_&>UNEW9I#XQ@348:E:1FKW##('P \N(1B232YTVMLCTW$T$RAP %;,X[\44^ %=R:P;8'%?XJ" M)V;4GIS8A[VH$%#"S!>$P:W-$^Z6'AG>D!\B>X'[(58L#9:V9BD:']C@8/A@ M@J^FNX.2+T%"4MS,%=O%^*=XCPE4QO1HF[3SG&U*\8)Y'X:D,Q 3&AS&5\K9T MZJ1LSQ;XL),3GJ,,9"X/P^ .*/81B"S+\@AR7 MN,!]5#J!66?4"%0B%:5@H=2$>? ")3S"7STP'2[[E:$=Q$N"CO?03LPL7$C- M%'U^#O172A';3\%HQ#((0"-[5!>(1 M564&8\MM))5?_!M4$_M]YB<)0\Y@8&ZKBT,7C5Y!UQ!L[A/J4EP>6/!B_9 % M& 07<8%& 5=2H0P<7[2,\9Y1"-WJ(9H!@W>G&<+E@>/P"XNU294>5"7(%?# M/\@"AV;W6''EX!%)-OYGOM;%*' -DN@_H1'\EG!FE&%334G/J6,"N'" M8K",QH$* !:< U5\:XQ=P<_!MY3/J\!%OJPO(YLM?6+U"=L143Z62GF!C5)S MD,>1Q*I(8OH*@2H_6YPS6N4Y(XQQG+S[U>9N4(RA!A8(OB=_S3W;XFQ" M<;*WHCBU3 TYWW;T'JSQ;(;N+3IW^93KCJ&IJT67(6+T*;.H$O^G,(,736DJ M%;#\>D111#>D"O/$SDFI>X$+D;L K7"?9 :Y0XE9L+8X3SI\:2M[ MX3QM_TY7CX >I0UE2>.#/G0(7P<[8X MHH@F-*>.*O8F[86OE29_T3^(1ZEQS[)DZ.\??I+8]1/VQQ>PEKF2GA<4I*3C ME%NG' -]@GG0O]"?QN.!S D8W7[W)^PZ,&(49VZ)AB>JV0*3>*;:@=Q?PGA1 MDCHLC,N.%NO/$#L'W&M9#G8SE9;,M=IZ%B>M>ZO[9 MB;V<"QX63/ YSX5;2[^SL<>AW''CL6OI*W9[M5:MYW^AXI@EF,%*I6>K3"I' ME,G"Q.76K7 )J#=02JJTD%1E,)*586>X YH\)\SQ5P[6QKSC>%]8;8M/ M(!_F$R2M&*ZM7X#MYQ1[:![<9[3'K+CO,VYFPT]R+MG/^'2XH[] C; 9X&4O MZX,',Y^2)",>ZQG*I)K%0JN'6H5@>W7&Q<"\@?7N-6?!;^%<=*%VI>"PO4V+ M.1C90ZVK!M9]Y,4C-1;I7Z/F'K2)OH4MX'K@G3;4*P[?S[TUW!]XYZI4 MZP>'XRVL%M(\7I/4UXHZP9VH'_L]U;*PO M2>4WS4'L84C=E"@BF+8[I+X,7[=Z>=/"'TK8_B9%LCUT\^3&9U*$X5G]_=0G M$P$DWIFI46;"/3>+0HU>#.K&2+YI5$[P(G M281[F.ILAL5U>$U1H+-\ U8_"50(L)"O@)8IZ_+R=;EHG(-2_8,#E9"PL4:*8/1YVC7\M!& MK 43>VWX7UEMI-M4"9B]U@$/1;[S'>-!M[)H!:X#38%>H2-LP%JVI[:V [8@ M4**+!0SU#)1#M:R7M)N2BO"(ZX[$_M RLFD?:ZP:CG4]):@<:Y%LCL7!K(RR MEC.%A5)>PGT4:)<+!E?49L*6M .ZJ^F,FPBJW@Z'5[9VX8IU.3AC, K7M<@& MM=).9O+ROP3&CIAKH-W*S^;P5TP5]W5J&6!+8>+XL?#D!!FMUEHF3:&1_:0$ M1Z/F$&GCY4AI]!HA2PJ5_38 K_KNFSN- JR*I4^Z T*Z>,$L\DC0MK*JKFRF M:J&J)PS_@(DPRX9@>>RS^A(:4S)7JY?&KN.91+)UV9UHIF8XDJ:/E;'E>AJQ MR,18+;FAY*,U)73RK!2$UK/ &B 3,!+0[V4J@T#IFEV4;71D^AW3X9Q^8?AQ1Y<<-@FG*F2.ZJ< M*YH=L423AO45G:<67W.XLFZ*%Q$N:G=HN^QY=QZPW)H-1+]\#PS]$?@9[7M- MX-*4K,'(,(?*#39 [I'R6?;]J+/'4(O9,K\YZED@3YC:L$P(WGPWP8UKT-I4=[IS _#VLMK4.E.;I2:L[')PE3_"(G_*U_@K+'$-4+Y'1RBW'%)P$O4KM.\7^?+S(3_FH&P<3_2;R[?Y,XJE4* M"F*]68JL_-JC;*?E-))[H(]QM: (CLL)6V/%\V3]'%%B7>)2O$]HXM_H]X@1^ MCM+_(?!2-WH,@9Q+!UPMD>5-61V,S!ID^:4NA44_,#SG*W<+$8.)+08A8,LK M[#JV&O1A9Z:XD&V=Y*,1C,41/T9Q_A%>U\1QUI90^ N_F>V7..;K#LQ78S/F M*X=O[<%8C@/?6GM0O!<,Z"X3UD=DT*^@F4!%H#ID(*%_@K+I!B*TU'N+=]!7 MT#=L1P2!'%I.)M2,\IRG,UV.)L"Q]@L M7/#\A%R@1^2,/GA0+N!VF?U)-\T[@3:O/AC\9VY+5Y A!0X*V8LR5!D;J5>V MUFIG@:,/_\I\VL@-W""*'T!;9WZ?.F&^GR[=K*)"M54O9U-&U I1-M9;J%XW M1-UQ&?KR$\)N&4YR19J[BP(W%^9]4LADV/;*LC&TUGMQ]E26K_X@YS>.+G@J M ZR>RP OYW[6F5A,[50YZN#5L.!6TZ&>R70(N)4*3!2#%DCAUX.>QW6=9AF0/WL0Z*S'87 M["[Z!:,!E'Z-X0GR^A;AR U$N\S8;@ M!D)% Z$/E8,-!-\^['TP=#AR:?>'0GN 6=[*J9%VH:=&"C;2$%5U4UKFGI'F M#CBEY\=*-W!R=/6'0T?"/CWNX9""+4=D>VCUI(JH:TC,?N-4E5::)ODY&ZH& M&(H@U@-$%+9QTAI#T=*W9_CWS* LLOP53$,8K@? EK+\&?5RW,K@I0[4$I'M M6A/-.!+1@":,.NO46P<6;TDO$P'_-B5M%/3Z4M(+A&:ZB5YS$M.7ATM?#1FU M"V2OK51_)"%HH@"^I*BC>:'%]L1AR^R,SO3'/QA^*=L^U]=*K(+R*=9@-(FR M^ [K(]:*)EA9"(4^%!:IM5\J1!%1DOW0#3+,T,TA]YPQ3)]AJ8D,.P34B.-. M??)$)U&@J5:I/B.8((W0JVWKU2QK X:A,Y]/#NA& F3$M,&'"?WK.^A9DGY9 MC/@/.N"ZHC0%#Y%JX&S_7C?OE#YW*#RPK[)"2W[9IB7%]@*^ W:SCP*N2BC@ MNQ0B#$I(LO$_B9MBO5.!X5O"_E*&7.:]>4SNX#+@3S^9$J^&#Q=9Z"@7JX"_ M2\VH5:I GF$T+23?[@[;=U_)5^7!B$&A;A']7'QQ\B7,HD!HR1F4?I26@B3.)JU5A+V)J#3 M5I6]UIJQ>H.[4FNI,:F6P]?+;BDQ]1Q395D\U8 M>1.A_R!.DK$BXN)LH8F&U+=JR-GBH27F\ 9D>+6A'HVR=(,"[)L^-7NG3XWN M]*G6M[F9.QQ*'\NC@3%RO>K0*NNA<-_(Y1Z3])F0L#V9]+Z1R=I$IJU;XDW3 M,_HV/=Q6Z*VV%;F8DR0+4MR<.=5K"NP%)\&]<9@EPIP--F'K(]RK,'BZ8.45IH,(:3=)GW&AXX+$$T9P:(C=*TB,(9"/,FIS0\-O#9!65!O%J MDG>+T=_/HBQ,V^[1-*,^@'U$Z>[+S&GH?CW'OO>JXFCT6R>1U77KI9VJY823 M0U=V&^M'FG6K)TN88F,L67U3H%$ M1B6UWTAD.OCERD+);44B:^I^JQ<%I,1H? "2TB;\)(8>L@- 25<: "CM(',O M=SFM()7BQ:(PY$2V_Q->#;Y^NT\&K]O +>V)MM0MC91&-%I)Z-F"]Z1SN"<. M]\3AGHX*]_1?X_B7$8=\6H%\HE19@7VBGW'H)P[]U,^DX/H3BG)^[HV&-G&4.VJ.2 '=N+ 3KT3VTWF5>\M ML).N=V!=>5%V7QAPJ]W0+Q;626@=;#UZ7S6&=>H?:<48#L1/623?K M# 0'=>HM\UV6;3@WS^J("\Z\13MX6W;!8L)GKNPVY,$(/*[MD X/6=PLW9'.'U,:PR@5,&$RQF*2(FNH*'R<@T'% M W?OT,2V7C+54?-)E[F1)FXY58YE7+Q'4ND.3)E,H&5I>&.4O/5U?T4@L"2 M[\[/]W[B!A%6>J^GF!KF8%'/?8]KXSG&& CEVNY$UU35L2W7T11+4R:V,_'& MQFI**GN- ._!U*@5B[Q)D_974=:WDMU-E&4B*HKMRKIG6AXQ-<_5QV/%LKR) M;+BJH4PDAUIYT!)N%F"G/$QSGF/\0F$C7E!I ]46NMP)0ZRX)Y,)JR[ AP@QOA4T#'ON M+\ ="2MZBD";. M4*7AJ,4I\,$.^^)D_#%6.![P5$WB8GY)94E57(-S%+?E8 ML6)SO97\!@ZYR>;5)F]>S9M7,XVS6X-2JO5;$$J MV ,F-FT1C9IV20Q@8?-)YH:9K$PD 9&#%QXRHYI!8QL/I:;3S-\9RD[-FL#F M"_=OX.%[!035G\-O0V%"/$1]!*EWTBR-XI=R"17Y[V#>X4DQ;HYA1C$(/YCU M$L(*-G>(ON.'PI,3Y+K+P<(:BM_A/,(6,DF!&O $^E88BI,D)$U$V(F'L"A> M!H-D2G("^X\X^<_E/295!BD.I^K_B +, O$@ BP?FL #T4W!I^<^4^[*()L:38 M@$0HH;#@DKKE]B?@ N(&=A;%Y"[P?Y#@Y2X%#KG#J O\@E%X6,)Y%-,[\B^Y_62'N4(!9T5GC.V'OZ_@! TBC7MX3LQPA>60@:^3)AU5PB9@C M>U) -I@U, 2&-1)AZB>4V?$NABY# R1@4BC44"E](DC?%!@UH%$1V'$G(-C4 M\:T.// 9E7W*G7'T3[:%GV38AP&OH$/-F1A?B3?- W#-68P%1>X1;MX7TZ3? M_ @:*28,%CF,%@$XICXH]!(3"5M0B!IFNF3H@ERY)FP?]5EZ"3 M:JJNAH1066E8C^TA@_K-^*[WMZS1?>\GSN-C3'4' P6@ MX]U0E&NJ#8IRD3F,O@ME7@9+98OI4N;8)7G9+5LUA&IYC&+03BN8%@U=]1+B M0'C%BVN/7ERKRT-%M2^E7A6F*>\[H*L9K*6HES/8HU%6[[)L^:RY$JNEM/7I M!/4'Z?O4$MN764O\G1J1/YCQ^(#&@U8.%]EF-TR9;V!4F]&%B\/6A*P6!7+] MYHBFF9=-)GQKA&M26G^KM.%,U0E377T=U+L(\?/Q$!5C8L>HA^+U_KS>?RW_ M:^50;BV=?4-^=GVU[9)K:8*1:HBYWW"23 W#TBR^Y0#82 M2/G\ JF#0"JB)G?5 I,+)!?(/DV\G4 JYQ=(8S R=='HK"#N! M5,\OD(A7H(J*PH&F^K)_IH5VPKV')Z1YL<5^NV@.^M-<$G<@.IY"$FD[+T.4 MK(-WCQQ@JM>\M@.]YA2\9@]&EBQJ->W5.*M=$ZOM@'@X :M9$HV!B[;">>VZ M>"U2^:V=7I1H_",YS3*IQF MGY_3U,%(%76K*R![SFF]Y#3E_$>VEC88::)NKI?'<4Z[)DX[_UFDA=#AP&D7 M!+QY^;%4"D!35*<<(XBZZ[[]P0>O_>"G>P)=C[[J02Z3A1CRFBE*A[O[G:]T MSZ$XNBSP7 M^1.(_/F3,"V$[5(4T=3.#['?E!74+0IH MY>8,DW>I)\*?P)2848806'D0N?7;M M(_9#'Z+3/"MYZ1/?^"F\WVV G?.^P&[ZNA)%NK!I;^6JL4[V]%3+CCBS$.H/P>XXF]O(N@P4,6X-, MVMB^8;A^_%% ./9R285:3CO5V]OB;>[(]SO*JLJ[,.1CDLP9[&/P(E*I]I,< M_XXI_"-3>*,6WF#V*!28RZA1A= [)R,@!B(:4%A!#Y%2/?R-^C;4:KYU HIV M^&U*2 HF]WTK:+H2"JN$KV5P=_T4R(M1L3O ;[<*8^X!+%H7M!9+VMIA'3V6 M*]O.E.W*_NK4"ZS"UFJ+-66PH?0EJRJ8-?6@P)=5-;R$>UIX9V.F69+<3=O@ MC^4*1%Y^TZ6BV+9TV[^676F^D)@N(JKBAS&,WED&IK@L,AS&&HCA>HGIPOLI<(II_QR&=IR+?"EC"%@\AZWQ3]H: [;5+;&]%65) M$WWZ_'&OV<&'"&KC/"YZKU6PO6U],*HYK/E[CIB<$ '6CC4#2I

!I1R2??X--DPL:TK:,7]806<\*39V6MKP]SET3& % M(;J!,S[Z(5 .897?%9W?Z#5?%]C6"TCY=91I-LD119KK9].>EIN+97A;;YEP M3H5PJ/PF)?'<)>)5@,$K?7&2:90%7@Y.CF#ZCX3N9"@7;]D[+):(1MMHVT8& M!HZ-_K"M#5P41BFI;-I(D)#G*7,@X#H8\O]7PK-_)8BESO9Y;--RSUK]L"^P M$P!U]Q/3M%@J!<73RUR"7S+ W(VK'*$ZJT//L+=BI )X%7)([@0EA M9@>;::2(,/]__F8IBO3K5YB;\)$]AGXD_UJ[Q"*^_YD@'C[#;(XH(\XS4-\N MD#:@4/>E=OWVX=U0^!(0VD0R2-!"(DGR;@[%8*B9J6.TL)Z;/%]E#!D[28"0.@(P#65DVJ2, M^HP3P0VB#*0D2^"V!(6LL%0+I+@2,1S;.- 6$K27AP>SC%_R#I[EM?@FCV"_ M%-:BA(2L@5+U.(.])*[XIW"AYS^B70!.!1IYY)/!9J\4Q2=/*RZC&BWU"-=0#&Q:V,$$U "HUS;5CZ3G3/I@A MS!<> NHV9$TA\!6P^:=V*23IV%>DL%S8?+8@+5T'YB0"<=P8V\NMLD'@3XC[X@9+/3JPF1QA M6Y<(>V:A88!_'3J\A(0>:SKDT48=_A.]D/6;S4T0:LX9C()YK\5L\'!L/O\( MICA"?2J;OR*-TXQU#N$]Z"HB+UN\!]T-]J [T&"=B5FI:@5_"W2(&V5S=$ZH MU@7S0IP97L_TK9/!5*B60G4[@5T!J),9*%SL603^D _*'4W5L@)'&Q3@OA?5 M54P\6 -01/2!,/*,J5&7FA^M@J M:$85+JBWA8.,[RU-U:K#?&6A+]H.X"^Z+7H1IL1YPB2(?/\!]HOVZ0;#X,R0 M?B1O8\Q6["=QL[RE*II9X :Z%V%\X$Y]\L2^#*+P\0[89R84_9=<(:)]U&'Q M$MIO:@P+65P^)Q'P%W.'4FK,8%AQ6FPAD\Q%3F"+5.6B_RR^*B-4M+D[KCU, M80IN-&UU%84!;='EI#0,E]LXVLJ]G"^L")@\#Q@/'C;.4N;$PTV%<7:PIU( M5S\NS"0ZZO@79382/OEQ%+(N:)$PBV"NM#GLKTTY7HZ"WKP5703HLO%MG4L M!+G2^JU8UWP6,$UT*=P6;;+4GK%[\X W%8 ORVXO738,429YX';Q<6].=NFX MAV3P">I^T&11&(EC+QXB*$CC!J#,V M7D,AW]LGNS YUE_#WJ?CD M,<]"^=0A#%)G)<*P)PO>PAXF&\,.VY]3$TO;>[) QLKSERZ;H&/UY,0O&! M MA3]]F3.W835J0P^T%C''A/8;G2S[1/D>O!*>H9IG_< .'8?J8.Y8(+K8U>>3 M FV+]+I#VN5-2\OCL>)<4Z">WAB\/-9S,\J/X9D;DUN)(O:!74P=]*>*+J-T M>"PO%\-,&(S&Z^CY%3JFL4A]-R' R6"<**6^CD.#M?0&P?&>V#$LZWNZ1&*F MAJ_.B2]#B.BF4CXLN;:.78M\"8?V"4UAZ9XHYP+;,0][A2E%MOQ O+LL(04[ M_YG0T 3E$\JZ^#AP4N-'/$[Q:8"<1NWGY2ELL2:5J)7@S*(,+-@K,GPZ&O0QMS>U/P(FC$=)_1C%ZB-OT:=D2,T(!R<^/B) E M9!-7B.NKM_AJ>\#R6K4!D\654 L]-:)!=*8DPW&4[UOAD5&^/5RS@4MB224; M,V& %[,XKI)Z V/EP1A?*C+(%)..Z_,I^JQ]*(Y@;ZR?>JDP?BI1CA7RL-J3CJ M2[3%>$F*D:5A41\!!CX&#]TK!Y=4*$)GE$M_3W.,<]J>:UO*4BXW)7(M)P7C M[DNV15G3Z>>R*5JF5;]F!6.L;*(N56^T]/C?14E^YI/O=8#E,5DI3,C5[7GJ M.0HIP+9]3$C/)7GUZ],S1?"*5EDF-#Z"V;6@25U_$6J\GT5QZO^;?O!Z>-;4 M]S\PAV37KF[BN!C0HJX3S5/Q8^]N[J"*6#O '0H%IQ0V9N[X7I[VD9#M-Q>I M2$F^FV(/(NAAQ5'HNPU\O+O"QRM-!FX3,QKSJCI-2=5KJKP,/"?/3V'P>,.2 M9=OH(2_[6+!Y1:-)'TC/ZB-<^N*LB/8ZK_?"JC3\OD8K]CBV,XY84D^^:Z#[ MXLH>HTI['#-Q8)M3L[9LDP036%\RNH>"S2RZ2,P5@%%A3D%0DI>-IZ#)XE!D M$H&I8!& ,I.AF&"1?E8N!^.[2D;$J\KAO!,XV =>K!X]Y4YY-7@O@I<4DHE? MIA2DD?NCYKK78NEJ8)Y0[,!./G-I:)3-Y562X7XPP6VZ([!C\=5LC2E<664R M>N=K]F+P]O)JUP2O6R=S.1GSNU>54-4P\-+!;4BKGBI."BSLJ,2 MFK2:1)/TF<5'Z-%*[FH5=FOU5I DD"(?CUV 1[&\Z#;LV#B[15*3^ MJ+FWL"*XK<*2?S0+&+ZA$3O,+2OV070:](,PBU-:7"9?A*T-BS#5K?L$,S9IK*$8(LX,Q9H= MW>3'OX6HEQM4,1\06U-X+LZ*9<0ZX\!/ID4D!S0+GL/B5A<>-([ALWQ6;A;0 M\UEVI4"\S,TG,YOAB0MU$_+3Y4G&$@2>(LR_*O<&U[<;J!?9KV",0F?:)=[QIN-00>E_0>EQW9@)(46NZ\(_K"XP MK NLF=MHB1#Y^$1@,DQ#"HVF,=TDAB!OB"Z4N8EF(K+)C MJ=8D5T+%HQ=Y\(L$#))$N MY954+%$4'B7F.;:T$*&L5A)2XDY#F.T&^YA$] MRJFR7LW(H_C1"7,^:QY?<9+I?M[)4/@4EA598G$,MHVD9A&V3T-ME9*>F#QF M :;@O10) ;D+5:Q$/B.LF9G-'3^>Y<$XFOL;T",M%FH!NM!B2!@%JX^;11X] M&L[W^4AH^F9^#]DXH%TO M77M)F1#EQWG=+N:&)@3#!B@'FU.IRJR9W+FF 0;E9^/*F"C M"L']*J6#:41D)_R6K,<+Z<&!PUSI2A9"OENM8=Q;6?%/N%4E29HO>@]6NQR1 MGX]H::7]XEOBQ"&+(52*1Q/,IRE"P%5MQBIJW)@LZL9199&9G\U828F?N'@@ MEK 3QS*U99[AB2&+/FQZ$=-BJ\.B;A H2XP@D!+W8.R$/W D]%VWPF1?\&PR M*X3XI5N:5&^7+FT(5IM MLZQ^;'K8UZS^AG@M]1&B%OR[ ^KE(N3BH%* &ECH,L1(,:<784N*8) M>5/\\BMHMWG@O+SQZ3'6';WIUV45@R]8;9R%[V-?YW$_VQYJM'*I:-N5OSB/ M"@YI5' %MIM]IRA#W30V?BT-Y3V_TU5]KSNW#=8<6N;F;_E8^5CW'ZNEV!TBMLQI8Y-2N\GT MF=$]#P'6' C68'(:$R+\$5$HYP\(Y4Q])]A[+H7P2@>$Y[2MH>T] MS>/G;'T&TO^=\S17U-=&>*ZHN:*^-M+_G;O[.[A"TZ_0WW_EX?E'@5$<90G6 MJ[QNPPOKW8]^>NY]*=*->E^MPWYYT_.+"?O555I?Q53JUM=%$0^6RU/-54L\C1^?W"3A[-',9%=%N[3=R M*3ZUXZ+#,G&3V/=ETFS1-ODJ]7R5U+;1LVLQB5>?'4.118YQ+G/M@2-1,R\_ MB>3*%TD5=+Y(! MBW3YI]]7ODBO%%&2%&X%^[M JG1[5O#J3XF_1ZD3% VECA$,WW7?<@F:"DSB M11D"FK6N0;NVE)_N"=1OR9,U4Y1:QQ0ZI]*9 ZE<7KB\-)07V=P_YX'+"Y>7 M&Y,7Q18-Y=;-RY6?T^V[OA>_4>':E&O3TTJ:I8HR]]:YO'!Y:28OBB*:6MO# M6"XO7%YN4UX,2=24MJ7AUR8NU^ZMFS?JK=-CA5]H#X[1HN='FUXG/>T*M+6Y MSO._U.8112YFB!RM8"HU8Q75$D4$!R2 M]6JDG0W3*&_N-2/8B]*/O+(%SQS^BH47XL2B\.PD^#>0"Z8F.&D:^^.,-4^! M)SCATMCPYBQQ'LN>TW/GA76S2TGH8/LGN):$/FUV[PFQG_P09G[J/[)F4XNV MLN^S&"_:,+]\O%MF^0QW!$E$^^#%/@E=N Z$XAGNA9')ZM^+T8;9;$SBI<: ML&(P ]JM*@NQO1UM05S]N#4-:>\\#_OL%J. JS*8;E(0"KM?NK$_+YMN43+F MO3Y+NEPC?_]%\FZ%588IIRP*BZ:CM/G@NREQ?PBO[M_]W]=+C44GA!2$AL5_ M]H- ""/:!!36[MG!WJ=C A2AS)>O$6UY*OPK<^+_O[UO[6X;1]+^*SSN?K>= M.31;)'5-=^<<=RXSGK<[R<:9W?TV!R(ABQN*U/!B1_/KMPH +[+NLBXD55^Z M8YL$@:H'A0)0]50B,2#! UK-09W-LHA/F"=PH&J@H685 -]QAR.*% A-"<*- MRCIX0:=+K-INM:AJ.U5MKZ[I$RUN7]CL;1B+XL6JP)EV_?X[6+]8E)0>:6NK M\K[:QMY4HQH:S">C)>?4SN70VD:O>XS20G:O?XPR2*UV3?K:,SK'*2]E64?H M:]LZ1DF\[I[(.KU<34.M237HZ[$PT#/W*UQV^KYVC<%@OU;/T5>KMYUWN]0"0\"W2G'UN[I[9UY>0ET!+J7<=_K;:O^EFZK*.KZ$K-8UH66 M\"";=(DVR6SKK>YY($^HNU34#5IZK[=KM@J!CD#WHH7=UJV=*P]5#W1-=[_. M0[!\?O?K1-QX9QWQ9Q[A*:[* SLB35[#,SWM@7&I%10((%N=;[6,70\:"" ; M[S.IC29/&+*H!)"U .D30"ICA<[9QB7J=J1#BZH2XWIG.B AQEXHXJP$W9 T_-[8O]=R8 M#-(%&B13[W5H$23,G19SK7[]H]<(O&0L7BVZQ=RP5$\A\7S% M1K!N5(8&>Z$X# +NWV1"<<(XF2M$$)>B)K!MZ/PHC$#3#E\:2Q%P:#EF($\8 MK@ M!-*U.!PE3]#\LF&F$7X6/I%I5L$KA!G$?%\I>L_:'14W3K>QQE#*BZ<'NA#0 MOGPAVLA'T8->RM5GY-P*I3(G@!%H9ZEIRCZ9Z5W 0-<>X-OR-X\P&7$F+^TZ M%A"9LME&JVE(1!8%3%XV8C4+LL(BV+WEE45$A1*7*X/(5JI@84YLJEEBE:>% MF_)R)12W*#P4A1,!%?0GB[[Q!!2Q MVZ#D3*UE;86V>0S^=[MO'Z&V@F4-:M/7UIZMGKZO/<-J'4.N'>OP-2NZQL \ M?"T0TVBWCH$!>TM>_2I@H'>D>@7'J%MR'+P>0ZX=8]#:3J[$+;CX:$V)XJFV M M56H-H*5%N!:BL097>U!4^4W4>2+5%V5X2RFS!-AKH!@B=#38:Z::*GV@J; M4$&U%1K,PY#?.4T6[IPH*^9"LV*LGMYJU3\QAD!7*]!U]<&@_O2I!+HZ@:[^ M'-$-S_[[CQ_ZEFG]/G@!2O63?*K;1S EC M#HQ='0^:,)<$$+"H5%"C.E;H[!0,3;^GIWH)=*BRW:%*FX[Q"'$G78KUEKGK M6DR8(\R]9&S7IM[I#E[5&&\-/S:^[O5/K9WZ>.9DBAIDBBR]WS5I^2/,G7!L MMM[ND\P(=+KJDIQN#[3F;Z<* \+'FRI%J:#3@,JB* M;31UOE!("^%C'3ZHAD9U;-#9+^A?6B/A_)SC2W+E9;6#F#^CDM] (0\=9S/X MR\AGR3K^^&7\]]HVO=B"QK[$K[V2>EN0(TQ/6Y9 #7F8QB#_.,8MSX^VTXF$1B)>2 M]9]_EGP593P41SP6)U@1N;)M]04MESE6X%C *K: >^(H!DD"6,I3(16E+: = M_J_42V8:>V*1&TOB^HC'J2](\QU!^BBPCN3R/F?(L3_VIEK"V63/\@F=ZBBD M*!,0;V$Z-E@UH<)$G2^&CD.1X/')PP*[6C M1-"VC![J8AK&'J+NM3!BWB,O6.N1^[CTHM)GJWB%#>/03Y/5KRPCWS^'IBUS M7ASE_XZCK#=3$.?-$-3W[8:-H+.OF?_$9O'5S_/H!B _D^&JX9=@;Z]#^6AT MM+'+N0:H#"-A7%Z#9\(C? JZPRK3%PU,W>BWJQ^\D=-E;&#U>DZ?M0<#D['N M@'7Z+NO9KFT[[C][8$A%^0:84&_A@UB>Y]>?V9ME"EY1%L*:WR" P6PI&5B3Y'H9N"R7H'\]\/IUB>Z&)J8?3;Q^' ;Q^! [\S.$IM@=Y^ MS/KK^]KN'*/&2-\\AEQA7:Q-7X\A5],P6Y>.UV-@X#AR[1K]WKZR.[51*7)"+C]:4V)]J85 M#*J%0;4PJ!8&4:Q76_!$L7XDV1+%>D4HU@G39*@; M('@RU&2HFR9ZJH6Q"154"Z.Y'!MS%U!3=0'E+KF HA2H"TV!LGNZU:UEWMT MODC8JS/VK*[>[=>_7@&!KDZ@,UMZIT<4S16/M&^?IUI ?0+MR28UR";UVOK MHD)1!+I3CJUCZJT6>5\$NI.Z_+8^,/NU!UW3O:_SF(7S>U]$OD')P%N;L@ZQ M;Q! U@'$(OJ-!J1Z5[&-ADZ8KK'K)I@FS$4!Q*(2*A6R0F:*C"'.7BCE+'W3J;^<:[GFUSQ/&?W[7BV[MZ0IAZQTD4;P3 M/M;B8]<3!L)']6Z'JMA&4^<+7=D3/M;A8]="HH2/:MNQ,Y3,Z,RC_/2\SVLY MRCOUO>" .1\D3B_C<$-6'L+2% MV3(L.82L"@5^Z$<+/.^L+H6.M0J0O]^#%F;ZNM(3\;(2&%B088N!+R^O4-#N MJ_H<3UXR5I42HDVJ#*,'%GC_%M+9M[1%M=%($G).@5P4IU MHJ]O]_PZ\'DFN[>U:)?JVQ4=KRL5-]/5$7T_T M]41?3_3UQ(I<;<$3*_*19$NLR!5A129,DZ%N@.#)4).A;IKHB;Y^$RJ(OKZY M"?#E6R2V]!:)4A(N-27![.M]77=:I]9.?>);R18UR!9U6GK'I.QC MU)0=?5!^:N:00$.@+= MB];TKMYNF>1T55=!YLFU[I[P^_GB:">3E.V)0L?#"PZP2/,G7)[ MHYL#*HI F#OI#D'O#8BBON)>>J=[H42I9)(NT22U=*M'MZ<$NI.:6/+W"7,G MWV-:O?H'A#?<]SK32G1^WXMN[ND:@4C(Z9KI(-=,5%B^ 3=$56RCF?/%-G8] M\:'YQF9RO MG<4Q3S0/FO0B22@_1K;L6#+*#XQV1ATOR>3A-_W\-Q%WPH= <-.K[VX8DZ:& M8SWGH4_&+-%CX40\%LA?#I2 MS/.%G'XTC<%\Y]N&G?]B2RUD/;9WY10A .WMV.,C[?UW@*F8V)]& MH$@>_11K]T4KMP\@2L$RKWV [HW22(#4"X0>Q",QR/ICF'"MJVNWCA.E\*WW MDZD?SN /[Q7%ORCM@#W$)P6C_=L0K1SJ$/XEJ%9$+S]X :@7H*/=)_ +_'1< M1 .!]#X#LK0[7;N#/VJF;-9#9"+7_KXE%:ID>S_L/*7C%6%4I=(?6<$/98% MO \10]'"+\%,16@R\5,!C($KY<5[5A:H2WV*AXV+W*Z5*3*K??3*%#XT%F'# M13$2CM/7XS!W0'&KIX&211M<5M33-(P%(%X+4P1#+^H=(&MVZ46EZU;Q"AO" MM$V3U:\L4"2=2>4E9C>0# MR)_)<-7P2U/"7@?WT>AH8Y>3#F 92GO^&MQ8'N%3T!U6F;YH8.I&OUW]X(V< M+F,#J]=S^JP]&)B,=0>LTW=9SW9MVW'_V;MZ\U44_H 9!>M&@LO#KS^S-\L4 MO%P5)S;UHL7MZYZ\XU/P&SUIOD7QDPDL:ZJHS"9SO,3XYO.N3N52>MW]"G!L M*#W0ZQ^\]$ ?1GF,TB[=/26POE1&OWUXN9J&W1_4I*\MHV_N.\IUY2=,>[_" M)NN_V+$/7RJC:PP&UA'DVK'V:_4<>%4+]8$QT+8.CX'CV"R0:V>[@C%$%[KX M:$UK/U"Y%"J70N52J%P*E4LA%OYJ"_ZE+/PDV-I3\*_^2+V$_M(J*01E,L[5 M$CP9YXLWSLT2/=5'V80*JH_27/Z5A=LFMNRVB1+B+C0AKJOWS?.DNK\0

>$N5..[=K4.ZT.,7976$$G+V)3GPP+,D4-,D5F6V_WJ4X8 M@>ZDH.OJ/;N6_CZ!KK:@N[9TJST@IZNZ"C+MRW.ZB&R%DK^WIHTB<@#"QQJ9 M]8Q=#[((']5+[*]B&\V<+QV:+X2/M?:42J14QP;5E&REVCGJ:^_E#\7 LCL5 MR ('2\%2LK2#S\DG'#85B;#(M!*'H^0)/@YM/'(_G$XR!@(/MB3!@X?9JD/F M(]7'NG3V&BNY(")PMU%W);@(*WE/Y@[K MW$H6+6Z?X7V'L5 \3K2[ ,3/=?A2LC#T-[7*UV[W#Y^IVC=,<[\\S0T9P)9] MA.S/5O\8V3UOKO]AN'3ZK%KQ2:[NLVATS@(\PM^K5U[ZY MG[9.W]>NT=G29FT9:-RTE,K%+.1Y*BO*-KU< 3Q/0R9DO#@/F7)V*86&TL+J MF3MZD)RP+81!$J=L73++S10\F64RR[67^%X9NI3->H'9K/G)NJ=.U@.^,%-W M&2\%!Y][;*;>[E$%=L+<23'7H;Q30MQIK9QMU3_7J^%I$/TSE0:N3]09V:0& MV21+[]OUKX5-F*L5YCKDZQ/B3FOE.OWZ>_L-][Q,'=J_4-^+\E O(Z?%-'9% M..6T7%+.TW_\T+=,ZQ?"2.USEJK81C/G#-E4PL:124V]$ M.:25N6D5R25\=O6]9VIH7BYZ]]303$#EP:]4PJFDLI"O.H8_BNKE2EH12[9( M/)RO&EN3-,//4?CHQ9B0B5BX_IT'?.0EVB@*)Z]4ZJ'VE7WG\3:CMY=%P&"N M8(V2%+M'*7QI]_8K^[@^Y:F[9TG5#:F/1TA[ZQK]HZ22#3J'+RA*@ZY'F=NM5O[]N?T>.VTCY*F>02Y=@W3W$X"5&-E\=&:9J9145G*YJ2BLE14 MEHK*4B94M07_TDPHDBV5+JR:Z%^:KTJ")4-=.<&3H29#W3314XU9RLJ]Y*Q< M<==T[8=Q_$H;\E$8X=5A^79*75HF<]=1%)1]H4'9O?:N_-[5"\DFQ-4)<=?6 M0._9[3H7H2+ U0EP=DMOGRF?]"B))R]S64[INFU=]*QEOZ(TV(N?J-=66V^W M:&6HE%(:#;AV6[=;70)%<^/*+ MSXLV)!3L(LBF6;!E0ZR\!>NVSU."E4!WJ:"S;$(<(>[$9JYMGB>C]=S)>O5P MU/Y"KLBESU$+7)'6KE2.U9NC!+HZ@>ZZ/=C^N(C 1F![J87KU-_UO10OY!(" MC-Z/1MQ)O$=Q("12^H]Q;Y>WT4R2/4OOVN?AH#[':(]RL]MPA%R;I[Z4:AXR MJ(W+F"D6S17"QHJ8^7V(' DCU;9C^[:QG'@L:ZM$P-0Y-_O46IZMOY0H?(,P MT2:IO(I=2V3_0]5]J,]I/::3QA3U'O"WGFI;3K;D>M!*).VWQXC^, M>T,;<9='S(=!L21-PF@F6D=F9,O\?]H"HQF^YPA. 4PS>61^RA*\-6>^'SZQ MP(&./# OB!/-Y? QP>@&/69QS)-8!VT%-]"Q%,:"3%[A:.0Y/(I_$OQO/(A5 M8SB6!+M1OGG7M2D#0P-?FN&+T* VG(G6U6U]+(<6)Z'S[6:(O'*+S48\YBQR MQN('ES]R/YQ.0,&B'0>Z"\T8VH%$;IU?Y**3BS):*89C8-$+JNN_9%$!%E1_! M/_'O"&[X6Y)$WC"5['@OGZ2*M7#%7!4>1>^7N:FE+YVNV&6'306%X+_YFKFG MQA&C/"/^K]3#'L'<9J51B)F#O?394TEI?V=!RF &F7+"&9J&2G;YUDK>8#.W MT_"\@I>IXWF/,NUBEAJ/UVH7>QI[,!U8I.$#80#/8U8;R@Z$S]U%1LFMN$35 MW&A;1@_G[32,/6SO=<1]AL(J:!"13*OTHIK[K>(5-HQ#/TU6O[*,S?$<)J"4 M:2_$4?XO=M=S?[OR1DZ7L8'5ZSE]UAX,3,:Z ];INZQGN[;MN/_L=ZZRE\91 M-H0IN",W0]#0MQLV@A&^9OX3F\57/\^;3["4SP2_2F;SA)BK!38:'4U@TG(# M>,-(3/37X&CR")^"[K#*]$4#2SWZ[>J'S9KKP2K I#G3WL(' 8OQKS^S-\M0 ML8*9M7^"]6LYQ^H?'MA&6)YGPEZ\E:95^\)CL"C.9F;5Y4MVSK5Z_O7YDS", M8 >]*;I'(%<08>PRK%XK(O_:KANP%*'"M65/7WD<2(6F)@[ M:026"EI+0ER.@@?M1[/;-EH:#,,7*QA8^B?N^\+B8WLC6"MC[0'<)EPO7.DW MH>D.IUP"$+RD_^;:F,&R,O("7%?=9P^4%@5P)L+T82S;?M[J?(M#[GL$6A["[ MXK(;3V'T3?9" J^TOLO%"C241CQ;PK$OTF6&8?BP<"5B)0P :UH"HG[,?*N- MA,C+@5L[BN1BPA;RV7+HXINEL7?//?2-\WB4"BQD^)C#A,"9RQ$Q&KBE\+V9 M-@($TWQ?"R^"D2C=9/?I?X#=S[=9%I_">1X\> M&B/P2@,0$KY2S,JB3;%M %\-YY5X!!<8;# 16X\D"H4_+3^"#3G(3C!* _%+ M4&8RTY&L )^27N&R7LAIO?);V/G"'$ S3@1>IC1-T0,+U#@-[0[&[KJ>]."? ME"G+R-9QO@I/C:,I34+YT0F;94\H#8MGLB>B"&4O/PNF@SE"ZUJ8=0C?Q6$G MW!D'@,8'-#OP5ZE@Z*K[O\Q1=B<9A^#]0K< A6@-0Y?-#.U#&L''HPG(31=# M^CUDD8O#?@=?$AB"<4!+*;P?B7T'=C;B4UA-QNA>PZ/I%#_PHR#XSE8 _'T\ M!BS%F0S?^K CTFYQ P"&2IXKJ*V\-Y&>/?S?T+Z&F@N6M1!A\3%7^[%M6.5/ MK&Q8>#-R@X&]*/<8 /$0L>?S5#M&X[NG=3F_G M@*5=+$R5Z2@(QLV L:U;^]9R/SJ43\384($E2ZU8ZGCI (O4MHDFUU M]6ZW5>?\KJ9KR+3U[F 'AK #:NAR/.',K,A[O>/[O@V/0KXV3;W7J36M7=,U MU-8'NUB5 RKH(IR5)BODV"#4MTPQ6N%G0LE M-&T#"UA$' 9N_3D)6,,7? BW"CEH55A.0YK9?"2S*[)NI?&,MY&QD6LC$S$@!B, MEX"_Q=@/_T8$J7.W''BHDEW&7N3>8*H01HO&"7;>22,5P!^GTVD8)2HFW_=@ M;LQ6!Y.MCKBIKO*_BAC+18]SXYW.EBD1^J:$"!'3 C]$VHRS2->>V(KLERF; M353(6LRA11E]E^E,-LT!=J[VKQ34*8/X1%9&IGQH"!4''0>4:F_''A]I[[]S M)Q6Y'I]DQLI/,6 O;_[V(>(B0&UY.EDI>/!YN*N/&2L 7VW/W*C:Q6'=Y6>J M#;>7;S>=)*.1E '4B!;$?XA/ QRS&#UAQ%;$8$]8DD6?BY1!V.^M>WRN29BT M,+-4Q#_N%J<2N_AC%KLI0BW+B5:Y(2LE66T;//A<<^='[5;6KIP\M?%BX*26 M3F73S6F5/3+/1Y?K!GIR@X!8#H9+B?C\D!^SOMC2V.<>^O:69MGA\FI+@RB7 MD<&P5"5^*;V"3Z9^..,RN1%]LW'HX[X \RGCT/'$4IGY;%HV':!)M"=H6L!6 MN'%I$02CXW#NQD7>,O_.(\>3OIX,5Y:Q\YL16@T\OLR&+%74*6T("^8Z=VPH MK%;J1::,M@^2,MJGE-%+3!E=L4);2RWBF?)*WZ*WX< 6Y]9QL&HSVH3/H8\I M@-)E?0^]FR #QG[^2+6]?SR. +VZF&SOXK_$(9NPE,HO $?P0>_B2^ M"YO.K^.L^;D'HH$8KOW@9!*K)9U8$::$Y\ M:LQ %;CIA4[#WSUP?P [8; S8.6%:&F2+5'2=HOOP+S:X*&>+ZG_#H:KV8;V MGRFF?PHO2HP/&WK3SPY>M-=7>$=R+S-(81 M(EG+ML,\^W1<.U_#8MDJ5-> M7+Y\PH70G^-RR>X8 CQV$20@KB<6O?S<$+V6N'Q,J$X@(B:X$I C:@K?D]MP M? L/CN0:*E9E;$N<9R#9 FR"O$?Y9.%;(2%8E.:Y^])+5&0"RA@+X41@C-&G M$LO19J*XZA_*?9KC2RBK#9UZ,5)Y?*-H*(0 U,G,O&A&?NHD:4[E,O;\^=_) M ^G2&^!6A4(UF9=4EK9B4\NO8U?T,49>-^4JQ[S\)T5-\UTR.)2^.D>2\:Q# M@N%!]D;XWLR+!(4<+V@LEIU4:_>>X.58*\LQ]UW1X>S\6Y*;,9_K8A"E7I6^ M6Y)-B-P/XD@MXF/P(Q'!U\BAEA=I3 /85\7RQ.QY-V;BLAOM@RMI+:!A3^W7 MGL:>(]AY^(I>*$X&N=5 %UAT1>TM#&WU"L>T\6R*3TM/VVRUM"&+D3$N!-'/ MW=,^4\53F/IN1BD1I[[Z\K/3P$4MK58";M:FTRC\+IQZV';^V#*Z.3V%V/NM M[VWYPUOV=FZ$!^LL&F'H5;8_0(J$#VMO(95<'HQO/0#$4F*E_*_U[X(NKONL:EL!6+3\[C&:"-5^V73IB< ML@:FN09PR5&+EZ"<&I5X5^"=1Z[X1A.T*/\I8TW W,B3#>GMP6\F&E*?6JU? M-G]0%T^:O^"'70[#DJ;P2XIG?J;-;LS.-7\E7C([KOJI( !Z_UW9I%L'I(WL MUO'\E^3:4QH@FDIYTQ3,U)&=N/Y'@EGINZCH'\4@*M9>/.:+Q FE>,,+,(Y& MJBYG894T>VK$.2NK^I"RYW)55$>%6#39\R6K4YP.)T@YO'QD:+(C/)IWN:O+ MP<0Q_C.GS''5$9!:=!%VZI."@"DCSD''UQMYQ=GI_?NWBJ46OB!DCNW@Z,!/ M>;<9+I*"C$N@XVF+[TW$20SR9*U71/5%SAPGG:3R5$UL/<+)) T4\U!&'BR_ ME@NQ//D+?C;\SHLF-WJ"N,##0[B$XT4GDB<)[>+E)Z@U%FYSQ!]8)+Z92ZF8 MA-M=09_] &RMA?T],M>[F![9W,#9,#<3GKB8"<5$V-_TZ/O;GI\6K$YV60%=C%-G/#>^ M+:9D^&S]+:;@B]?7^2FH'VT.KG'T5!3[#:8[5,O3>UML!,5Y= "24TZ>AM.C M=&WQ);M/JK^W)V^-Q+0M71BI2Q\ODX-3ED,!K.)>S<-QY%-C2?1XR;3-L;ZC MER3W5\I3[.T#Y]_=O[+]K=QP^?OOQY^_7NT\=]SX@ S]1[D1N#5-H2)R;YP&N93>3.?+Z0BS=X-1/1320O/T066.I[*Q(5=!5%*KT57TV M#,'/!.\1'5PL=B0]7%@1F7Q/==70;GW<;3^,U0X7CY#%!D6YS"^1E,,"O&49 MBB J5R;8B\& $YPP&,9,J&F.>5^I#=\37D60X/JNR17^A@O#6J0B&DQ((\I$7,42IO/!2(\4^ M8@DC400)4VOR<&B91J;#![ %=1I9"GR+LJ(9>JDWBH-^[^-\LV5OBC/JG#?. MR+PU1#"-]D$.M6&Q)B:R--_.7?VI?.994P(E*2ZI?; MR3;"NC8+4RT>B\LN!PS$*)69&O)6L707.[_+#U8=HY3.T_*<1_$*;I\ S6YV M[/QGCM[\7 [/,M,X/WZ_A@\T(DU9N" 0@36>&@V(GK(8J-Y*^ M/&>:-^9++/<2"Y\=LHF5&"\'4+S#^:UK4%Z!LHVL4(Y8WO"J6Q6L4#$DT\@K M*FLLG3!HI6$BX)R3=A.5*S\NSN,$^".Q1&([L_F[W6? D'*4$H&'E6KDHELL MN&F .2E<;,#S1U301/'4HX=%.>)\_+KJU:Y+Z3[2S^[^L[!E^6]QPBA!ERR& MX>8=*L7C9E,A6X;057E$+Q&/X?+; #45YG M H9 -^ Z9(MZ?D1:^H#PH[+& MPZAX)M,)'A&J/R^4N6'W'<>S^/]O=CBC[=HJ0MS5+> ?VEF+FW!7+2Q.7\5^] M[Z^#,/B8HC?JB!T#=.P+GB$X-Y9E7VD!FT!_N..^_C.)_*_@=L>?1E\C]S:* MOL*CO_M@LJZ$J:- [F,!% MV_VK-W^":>S(1>/7G^>:?:/O\9V[P/T(ORH^,;AZ\W>&B7__GT?1XA? QO%R MG:.]OO@55]7LDWT\=U@LKK/XZ7*1(-P?PKNX\?%L=3!%3?/CS<8L#9 M[22YTN2<@?G^/7D=I),;-Q3G5=A2,7+SZHVI [RSP6;]>E.J$"3])'%/^E.\ M?+D<\N0)#?YM^@!S2VMG-45A]7C'':DOVU2_O<8&K^Y1+)_%D?75*T/[$U87 M5#A\8:U&S599 !_# _1S=:P8V:8Y>X'GSW,CU^$!L+L]>.2UJT-4V_MI[Y& MDR#9]DOV3E_:^S/MJS>YAP,(? [@33\+;W'/?FZ0O+!#>3]A<9F;2NH. ^8, M." B7$UZS&HL3V"B0UF)S(O%28S(/L9U'M:$>#03" 6_SQ.+Q"//=\H 7NRD MAKV\,:^=5PM#7G%K"B^: [LM;PTGXGMZ:<^0S84\@:BX,BQU/HC5:9*Q\%FZ M!2G?@G0/<0MBM@:GN :!03HW(#BTDZ_E)?KLE]KT,O^>7L'3SZ MAMK?0T&^Q5*6UM_S>CV MVP>O:&8:IMD[>%_[7:/;LB^RHMG.):XJ-;+E]974;!7;^(^B-FM=QW=IFGLG MSF.G>>1[Z(ALL=J5E]N2TW5'1:YD:JT/4;D-!OSPD#W?>,ZKP;5LH:?WAEM5 M]X;7=U!YPZQKMRQ;]Q8-6<#C MFT_??3[++*/5:EED#6MK/,R6:=Q]O#]L@?DUH\_B+RHC@#MQZ*W]S^]?_M#N M!%F&P_-3'X..?>H'Y_NW?R,X(YR_LN]A$$YFL'0D2!4#YOS>&?,)(WS7&=]O M;_\@?*_ ]UOF2WHX^/4\X7X'SSQ&/ =>']&%>)L"JP:=]N=!Y*\A5/B-E ML>#J89)NZAU+F/8!.:&N9?RUX%B*M3+2LH1TEO'TJ1 E#>;CJV6@>A:6K))D M#B;N$SS:J-EA;@6072XVZC'N[28&LE<:OR-[-4GV',\48\>#%F&"0R%+!&04ZM)GW ML+^,.TI5TU1<#Y)^$=FD%1N\X(R*^(A'' ] 99I3D=U;?#9/R\Z2(Y?>GXIA M+N/Y?!H+_@=MPEQ,%!6IZ,@ZA0'ZB\FE2Q+)(\7,H;CHL8^*4J$T'!2##Q]- MT5+.63U\7J:(BNXO64X7RH2O3\D\0_+&TI#VRF1T] Z2T6%:1&QU4<16I\?O M\GR+^[N_?KS]^H\O[^]7SO6UQ$V=C4G<6[92S:QER?]56O+DZB"(#2551K;N M;1],HS]?V<;(*)TB@P83U3Q*1 -JY5+\P\@Y I\<=@^>J6'VCU^T?O-FVT;+V2]=9 MUZK=,>S.X7.++-,P.]NE 1U^&[+RT>Z^GOO$^1M[#PPOM4 6LPXX)0*W=D%R ;JJT_19$:5*JCF_:JZ+*.$% M_;PZK+]EU>^:@/RMIN"<_*TZC0C]K0]LIMU[/-#^&I8(_AJV5#3&X[H(;=5I M"DF?:R'SAU1S?M5<+\O,$OS5CA.F@6#:/8@+MG!?N?*"8?V]1&6N.5=W9.Z_ MP]"=P?_&R<1_\W]02P,$% @ DJ'[5JO\>B!2#0 6YD !$ !A<'!F M+3(P,C,P-C,P+GAS9.U=6U/C.!9^[U^ASWF0]> M$&68!!>=_D&O U#@$@\'DXO.U^=KYT/GQT_OWGW\F^/\=OEX"SX3-YJA@(,K MBB!''GC%? KX%(%?"?T=OT#PX$,^)G3F.)^4V!4)YQ1/IAP<]@Z/TF+I77H^ M& T.1_##L7/2&T!G<'(R<.#IT;'CN4<];W"&3C_ H_>3\]/Q8-SKN0/''0_Z MSF"$D',&O9YSO1P>$3KJ'O5Z_^]O=[9,JVDG*^CCX?:GTVXCZ:?FCKKP]@@REQ6$8CI>* MRPO$Q^3 );.NK&[OY*B7EI98N 8=!XS#P%V@>YPZ?!XBUB\7$O>[\KY4U'-Z M?>>P7Q#52QXZO2/G2$A"SBD>11Q="_(^HS&,?'[1B8(_(NCC,4:>B P?2>Z7 M"N1N:\3*P]N6)C02Y2^V=G M9]TW&7KE%I3&DBKOR(]._U#0:Z&V*BC-=8MO3BK7A U9L[.S(97;T(;2=E85 M"SI)]9UM:L:BT5J;D4A:F:& &'(/)N2EZR%LTAQ6B\L/-@U@"02YGHW.M+C\ M4*(3!@'A2EY>2:Z%(0[&)+X@+LG0.4_CYQ&-TRZ\,$"4-%+UWSFD+B6^ID5W M0TI"1#E&+#^X*( I16)PD?VFD_:7WWPX.A"6I$4*"I8;@;S=%2+(O\UJDLK* M +CH,$& CV+?['+%0XIL*RY$F!BL%-%_^?J[T+>MOQ!Q(___H_H>&MM67XC@ M *]1>RG]+.X#[%UTKHB8&S_ B;!.7O_Z>%,]JU%J,X$4-<7-#/K44__ZP,FF MTPY0DD"*?NRN"JQ 10QY]\$G]7DUS!/AI$B-X$I\&,LM.[94++F8>K+6OX&' M B$L/C#A24^N*2ZA+Z<.3U.$.#-WO!9)R\BAH.%)N!(M*$DP01X4)*@@AFT[ M6PN',3*^%XU:V;@9;1606OZ.S/C+X $9@TS!GLDRMS] *BY-$,BJU5<+J$#"=\N M#NO;U1,G[N]3XGN(LI_^B#"?-]9D2Z"UO)ZLTUKSBOX.8E5[CG/M"[+IM4]> MFQMD,T0MHZ?K,"KQ@5+0(AZ_0!Y11,:7$<,!,N]6"W):3C[(E01FKD^8D!1? M8@CI^12D17Y_BF8S2.>BP\*3 (_%,!_PH>N2*. XF#P(9[MBW6G*AB&:EJ.S M58X28-7A9= @PP8I>(NXNPE>$..RWWA";D2QS!# P+N&F/X;^A&Z0U"Z3W4L MI@Q:8>IX[/=6>!?(_-*NIK M$+0L%%;Q"9CJA!0AYA M1L S%//_ADE-,+64%E8D-I3&2MI$J$VBQ8[6-9"UY!86.=:)G#9R;):#L6/7 M"E/+:V%%99'=:2.C);D:V\99!:#EJK#V*D_YM)&6BN2-'37U(%IZ"FNQRCQ0 M&QF*,S5VA"S):/U?6)?%XFUT=GDZP7)R6(>A):.P/*M*3+21GNIUKQU%6APM M387GK+6KZ#9R9;9&DAOCO,A'9/P%\3@?%"+Z-%63,PZQW_":S$"?COOBLUF+ M]9HHG%@@2PL;TB28L (H,\ /B2%M"A:;E5=&X?!%^$DV+-'0&/11)FL9.]M2 MKPVE0C;'?G6X'%$+FQQAE".MRN/L0ZN>VZ'G*;70SW7>6XRE6GW:X"EYDFT? M/)D)RP/6/E+JF5MI^YDL&\T?T0P*LX*)?*9'HR*^C[LFSBO^\U*FIT:R.MD%C; M=$A4!KT'RB0EEAFU#RD-K8N+<9HLN>61X%&*4M%.Q<(4;S.P+"W0AE=)+M ^ MO+([[Y,$8EK" V+P7)@&E&VMC#*S;'NNE,QM1%RLQ1:EK6*J,7W:""JD*VTR M_\NE4QLRL7VH5%'7Q-R\ 4W:\"AD4^W"8S\?;ZX+N8[D_I3AC%"._U2521XD M?.^^16N(-JH*:>$F.YW8/)"W+WWDTLK *WG4F,UOKZ4>=(M?D+=:SGH:M)D: M;= 4DM05SSV7Y\NQ9D>I+DKL P(U-AS9PNH(/RS9-51!^'Z8V;BU-S6Z;$V_ M-EQ*LL\;]P_O]Z.)V2L6EE&B0=%R74@6U[QDL2 0/O%L,1]M=Y2YN2:[F.5.8=,%*Y;X'-J.FV5[92(.6_4)RT9[]?0>N M)6?X"JG73%=>BZRENY"%M*$[UM5*EG,_?F/]R*\@J66IY,7%[-=S6NG_ZEU\ MEG3H@;3L%%*$FOV >[IR[FCB<F+W3VXV9MP\(;@V_I[U9EC_ MV%T^U"S^OG3PF3SV+#G04<6$9/';0WPNTSQ]2C(?!MX59!'T^?PF$"Z7!]]\ M1B%A8B[Y"_*]7S&?/D\Q]1Z@$!NR*^++1RX4^M>$/B'Z@EVY^QN.F-HS=-$9 M0U^>]21/?+OH;$M=@'VUG>FBPVDD3Y:21V^>"U68>,_J[*?X?$*>WAK%1_I< M=#PTPN(JBX3!F$?263]3$H47G;@@YFC6 ?'Y4?&5&0E$*-'YC;@CL;.#Y@K> MK7D1M>1MH7C'E8?H_?A:1#ST_X,@K71E(]@[ZK=G% B=-[.0DA=U:^C[Y%4J M_D("N:,#28LJ'&,FO*,UOT6,(90<7Q-,U+.,16-Y)I?H 6)/K#,WKCE[Y8*U5Z:2TLO6.\*#Z- MR- %V4' YSQ58^"(Y,6C!S@78X,_3,;B*TUST4CM*NME^16U#TS]= .[84Q4 M*@YD^"9'$7F^C C\ZK%I T2;"/B^;4.:7LPW4S'.3E31RWE6)'F.JO((N6UV M#ZH:U4VF016-MZ3X2BK4A,-8575$'5SQ^7ZLOCVKH['%-34#%4S?(1E-B3Y(32&I$IR*_N4B=]@DG8LR=X>K.N%DE&W1+6Y[>N=. ^&0RKX^# M8KEM#K7&D6 W\T[F5 W-XQ=H.SI_+1M$"^-G?$$LX#89FBU0MS2LL-B";03, M\Y2B)D,FP=O1H)%K^T!V8W'"A$UQR.I[ACJ)G>@CDEGU$Y(=LNR9S6;AQ?)_ MI?FW;'5)3B8>F-))B#PS4"6U-+1N"+H3S)<^]5\R/+MN[PT=TDZXP&@57;EI MKLFENK&275G#&Z5I2I-YS6>#+-3L:B^EUN\/?L325'%]BZLLOA/-2K$4[VP8 M+FV?,&PQQO*[TAA^%GZ1YSW?!W?$4[_E*;73"0 MW-&97_6F:ME/RZ$OWWB!\93)I+B^Y$)1I(:LJ#Q"])$+'D[GUP(Q^/0S].=%:G#+Z+ M[FUZV3RKFLV$ZXY_L)E1&^+LRCQ!LVQL:/6YH^O-SY##D8CA^KJMEMH)T]63 M1K.9>6G1G:B$T5+*;.:R#M2NKKSJ?M\1LY PZ%=WWF;"__N9O'K+BHEN&ULW7U9/+L"\X7X]GT ME^?\)_;\&4[3+(^GGW]Y_M>GM^">_\<__O:WO_\O@/_Z]<-OSU[/TNDQ3I?/ M7LTQ+#$_^SI>'CU;'N&S?\WF_QY_"<_^G(1EF;0NR/_S^6=;5&$L*4A%<5 1 M$7S(#(QE6FCKF.>V^]#)>/KOG^N7&!;XC(8W770__O+\:+D\^?G%BZ]?O_[T M+_U5V[^;>^Q?=;R_?NAC?]4;Z6/[BOW[_ M[6,ZPN, X^EB&::I/F Q_GG1O?C;+(5E-^N/XGIV[SOJ3W#Q-J@O 1<@^4_? M%OGY/_[V[-EJ.N:S"7[ \JQ^_^O#NQN/#".YEA^>5X_%:K MF9&LHOG?:WSJBRO$*4S2Z:2;H-_HY_//KO :@\=O2Z2_6,W6Q=,GLW3C39,J MJ]G\XB\G(>*D>W5TNH#/(9R,7BX6]-&O3N=S6APCQ@4J@P)"-@)420)<$ Z8 M8\I:+0-G[.9\U3$M:%"=>$M8Q$[&YY_^HD[D"YPL%Q>O=%/;3>N= %8SN?UH M7H7%T_/CBY?)5F,_/2#7\,TQ.<81.E2",!5>L :5I@$XD M!$23=72IA,P;CW(M8#='?XU)+^?IV6R><4Z:[OFSKUBUTKG26Z$,\_0=Q6XN MN/-WO%B<'A]WGPGC)1Y?_'V9SXY;\6(YZULF*S;0B':ERVN,RX^83N?CY1@7 M+[^$,;UI@F]G\X^$\LVW-#FM!N5E2O-3S.^F2YSC8GDQ*8I9PYTLP$J=%%D8 M>%D0=/:,F3J$E!K3:"? Z]!+/#EZ[4^&S6A'6&:GM 8^8$):#X3V#[Q$E(7G MH4@!UA9R*[B6$ IWD'@6*1L7#'.M5? #>-8AC7QRI&DF@6:<^'..)V&/??-%1S<-X+28"B)&=12G : S"&VO*H M-,;68\-'?NKI M<>4.KOP/6H$G1#5*%% P%,3R3IO8> M/",G-CMA+4\IEBS:!P^;0!R2 =V1-7<$%;T)JZE9G4V[D:\2+T5YP64HD$JI M^6D5P)>(D+VD%6NL1:9ZL*77,0S)@#;FQ$[3W2[AD/.XCCU,_J28YMWT53@9 M+\-DE++,3$8+.2,9;15K ",U<.5B2=ER3*U]Z7N@#,EBME8+#2:_&1,^X#*, MIYC?A/F4G+?%-9WU&LLXC9/'QU$- M*19!J5I+7(7I.*$A%44)E&9C68R*Q&9[SQK2.J>Q,N M.XWD(FVG2]6P0H 7G@;DI(48F(9@Q1#\H.WE?8#.:-MYKH9 M>]^?X#S4W,1OM)KP M79'[-INH!%3A@Z3FM4.U*HT5-\6IP!&CO%PLR'E%KO M #\*:DA><"M&M)5$.X+4\.S:&*_A,5)GXF:JM3SDGV-QX'3DX*3(7!45,;?V M?NY',R2ON!DEVLQ]'Z;N0FE)8YDU%)0)5P0HS@KAT&2!;>)X++,7(PFEA@1/25P-=MR\Q@2Y)2IZL#Z+UGO+=2 9J M_AHQ8=>I[\WT7>Z5TQ.=H5@E:5G3]HE].SW1M@Q4EC(K28 M_)8*H>JG.^"0K2T\106YA.J3Y4BJ"2GD5(&BT6A%B*U]H'O!#"GQTX^!V%$ MS?CPYOAD,CM#_(!=[ND.6#[P6+1.4 NDR/?C!D+V'M#[8@)/F?198UX\"FK# M;-!3XD=;@;33&UT-U"A9%2)G"B2K@9M/Y*0O)/YP0 MV&7RF_'Y/V>S_'4\F8RRRJ+D(D&'C&2%LP;/%0*-35B3BB!#W%CT%\\>DO/; M0,I;36E;%WMEC0 M.T]V8\-T&5T)3A"< 6LC15V ;S*O"BIT;+2F!*[8AZ2>]N 17L58<.S&3-R6Y9G M?T["=/ERFNM&[TDM@_V#?)8H4C1:$R+K)2$J#F+D"#K6W8OL-8A MC'DZA&DV]>T*Z%;E.^/_J2=UCT].B:(?9V7Y-S45QBR1_?W%[GGZC MGYLV+/BXI*_=(8M9.0^7Z;S0N>">C^^MA<$ZPVG4R^ RN7!5;#W*B,4S MK2$:5D AX^"=L1"55=(6$[/O+9]S!6/WJNU%=^;F_#CB8J2*"X9<<&!9&E"& M9:#540!EMA1IF6!Y:VUR&\.&F:E^Z_!V%?WW==L[3'C#:MTO.#W%MS3<>MIJ M'M+R7^/ET:O3Q9(&.;_RETG7T?^YGBI@NI#G(RV0%B7EEH*'8'T"]$PXJ6*P MH76YWA8PAY3P:LV=OJ76T&^Y&.\%UO'TE(!=J>E?L*V$X.]7<.J]Z' MRJ5=I==VOX0&.+L)Z)S=(^NL9"P'4"&E6I593_^;[MB2#3QK)4WK;;&'$0UI M!V6PY&HGTV8\(SUYC>H49&M,7H$)]$6%PB!R+\%9;E(,3I;46E'= -#&>2*) MGL_IKSC%,EZ.E/$BVR!H-):#DC2D*#@'D9%F-B2I7.O>%/= &52 MKWPO[?! MNT_\DW"A>4S9EY1!YY!ID:9:#6$96*D3QH 98^L5LC<7^K N06LR'E[^#?L# MW$I\T,.3\+5KK:S'&;.NV5BFP#FIF5?<<]F^U\Y#F:;-Q_01NXFE3_P]S/^- MU1Q>&,+$:RI8)M#)T>@R>LL8BJ=7KP?C1#BL!VXL%W;6+:"* I MR=^7NA_0]<3!^9=QPL7'V22_QI,YIO%JUJ?YY?%LOAS_3_?CB"FE2PX(004- M2KCN+*.!HDEO,"NCUGWD7#<&.B1-VY1&_8NM8>9V@?0QM?'M:_R"DUFW:7WI M?@M$+U@&0RJ>)B%9"#*2#RZ,TA83%FQ] NM!0$.*J)HRIIT8^M4]ESGAZT2F M?T_P+D:;3/^E9("\ED*,-IRXG0H$;I53FJ,*?9CDW5 /J1ZN?ZW4GT#;U3U3 MW#0/DXHE'X^GX\6R>JQ?+G,$(I+ME85#-O5X6BP43RE6VQ7EZ*SS):K&X M,M)@J'N/Y AW+1%(PH9$GI30P3G=O '3 W#:9OV0]!E*TG21UP1W=!&\S@D2 M&EN"\"'$UKO3#V3]#AUBM>' ;6VR_8RWW5*X8WQ_3>>X*M[[O^2UUYJL,)Y6 MF.^GU\J"Y^-%M9STX_3SGS@?S_+EO#@MHS(N@!"U66F=H2#)HQ=%EDQN&\?4 MN@-57V,95IC6#Q4'P8/#EO#5>T_>3F9?^ZG@N_KTO13PW3.81D:QWL% #_AS M/OLRID_[]>RO13T$\&[Z!1?+[E@ .47G'6A4]H6$#-'EFC:R 9S)!:+T]4BL M-TZW=D[71[?S>8-PULWWI]EYT'I1X3SB@:DD:^>0S"E0L%G1B'.&$(.QCFGM M?.MAWPMF:-M+?5#GN^,(3233[F#*)9R7Z;]/QW.\][C$B(D@N4-' DZ"1ITI MQ!0:01:FA2>U&7WKE-/ZZ#8TA3\8E9K*KN6AIX28NWVM>CCK?;E]7.O*4M=C M72.1,RI+WH%,*H+2)8$KQ@.RH*1B&'5LKILVQ#BD/.>^:-:G&'LDVZJ9ZN^X M/)KEU9QTJV6$+B17&R8'=/6>..?!)T[.:!Z MX=7O87G.\^YNI[/+>TS"9+)X:%F,DC EYII^$UR1;6<6?!898K!"%56/!K2_ M=ZL!\"'E2P_ Q_T(O#]G[A%%+9T3V1@.M;@)5'(.O#$&1?TRWKJ$46U9BWC47;\?3,$TWYR)Q#-FB 1>8J$6H!5PD?)J5$)/36)K? M.;@^NE9+[KS#UJ?9I_"M'M4Y6B6EJL2.*+C[-2Q6IXUQNEAMV)5LBB06@!2U M"ZX1#%RU:#;8G!F67&)SB[ EUJ<0IN]*O/L68:]R[2LFU4V@B>Q0M7YTN4=RZZ+3.IOF.T*.@AI2^WA>MF@JJ84>*Q=&M MV[4_D$V;CQ-Q__SV[9LO7'OG*J_^;IKJS1/X&E??Z>=5^<*;;^DH3#_C!UI' M;TK!5(\EF)*0;&+B,I!U#!%GO>YQD9'=/>& M2[ %/2@6%=1K%*%(=/2*=C:V+C]=']V@]DJ'R_$[ME_[$'_?SM]=CK"S%C,/ MO!9,UD;EM5&&$1P,9\IZ)JS"UO>#;;O+]181IB":8&S)K,CFO>NWC4T.7%/[Y.FYJ_C[IN==VMT[*9SV!7Q1!I17 MY!;:0JN)QYB-CRRHUF?[MS7N6QU\N\6'52?0[WJ:C[27T7EN 86HQYBX!\=$ M !\,5\A<+JJ'8VSK@1N2B],3L^XXL=:#X-K=Y'QW8!XQN&B3 1%$[70>*##W MP8+C3*;"LP[-MZ^W3Z<<..QMS9@&(FEYWO8N]EX->=5"SFJ!5H1 T;>@.!S1 M04#.(-9),$DI5*T3)NLAV] K.$@V;D\:9Q>9->PIO,;Q#&6$4MG)>D$3*4)2 M@N!C[=#$M/:9::YMZXS'4SM1LRP?MR98KV+-Z7 M#O$HE? 6*%8DC5;7:P9E]MIO>D*[870(_N\*V[!D\"U00^HY?3 ?>!=!-71_"\[G-RXI M)6^*OK^B%\?DE,MDN2K>@XAU0U-I\J7J53Z"2ZP%*H&5UD?-'\.T#GO\C\6> MIF+J5_G[6[I$QE*[!)@2 R49P:D7ZVI1;P@BXA+6 MUJ'U?6#68LFASS8UCZ*;B*9'0]45A(_SA5T]1T8'U=DC7XMB/GU5N+M2][5I0;@!O+:K]8$GGOJ37([WNOSIZQ$QA2M>+6&6](2N10^=L MR!!28$EI*0WOWQ._']]:!/O!DLZ]R:]/!78C47X!\&Q41.3%9=*J%F.-1 .X M>G$*0Z10(0955.L&/VN#6XM;^[H<\7#*JX'D]I# _( )QU^Z\!-%07(.%3!O MND;("KREF6#&!F^"*:1F]Y;#O,*U%IWL#^]V[2BP81R#&*&T3F>"S%/F!%GF MVF/!0(EH!9IHAMI9AR_['UP9\[0)G93$9932- M,H2*AESE8@,4S#XDP\FUB8T9=1^6(97R'8Y$3235:XNUCW4.YV>S\G'\>=KM MO4^7YT:G-H:C-R>R:A_3$>;3"<[*Y;XLF;ZN=O$U+L-XLE4#MF;/;M&>K9^) M:-2\[5_=,L'\\@LY')_QC]/C2#%R>3V>G-8FGR\4R3.NQ@1%FDQQ2 MX(*BQC'&<0C!,S!8C%$I*"Y;&]P-(>ZJ ^]YW.HY[Q:+4_+2PF*<1N00"2%3 M A:0U4)K 9XF!TR0+ L=4: MUSFMO0$,28(J/D%$^F*2<2X[DT1J?0QE$WR#ZOTV&(KM(L3]T.S:-*Q6@D>, MY%-:X$;[6K^MP25N(.A2I*&04&'KQ/5& />GSIDO3$8!I;O2IHHIF$0NF344 M73NC+&M]]>T/I,X;L&M[9;Z!Y ZCS,GQ+C)&"2X3..5M 2^%K:7NQ? 8O4Y[ M=16>H#+?-\%V$6&O<=55=[ZKGE0T(V_#>-YE#G['L#B=KUH_7P45E_VLRFR^ MN-7/:NLPJR\H+:*NO4Q3HR"LMA2[UD#]5NNQ\_,+]1S?8GEU#?U%V=?JVL&7 MA;Z_G$QF7\,TU;]Y^JYO;.DG9%F%M"KW-V!9T"%..%4!0FU;N1 M8J;)LU8 U\;JA!0PF]:55$V #RE#_ /R>WN2-#P \="LWC>1HR15X5AA\NHL M%B1OSBL+,2&+CDM)@]FK(;P/Z9"ZT R8P7N@P6!<^=N>Z;4FW?'L QZ3T:&A MUJNLYR$MSYLHG^W)N=\-W+[=_893N9< X%XB:Z.<1<=!VU@/G_EZ]Z0V$%WM M>9I9Y*9UCYX6^FQW?^9F-^:KCN&U6^QX^GZ*_P_#_%+V(Z<=LTE+\*QVAN9& M0)1. <^2FUAH!G/?CLQFB(>4\-L#-Q_S3'H4=V\N]WV8.UM(D#\=S6>GGX_> MCK]TZ!=7\&W,R604D#5G9)Z4 >]X!*9\]A1,.!D.Q=9'P3\=U_N@Q&U+@CVY MU3N[>B(SR1S3($RH#?I9!.<8 UN^AY:'6TG,W0(^,3#8X1QHN MUWM"4=*_:A-T8;,R3J;B9>LF1[NC?CKF;:^<;V(&MZ?'8$SAS2&HR&JUHP)C M+$5KO"N)+ XR^.;3J IV,2GP39VY-F,"'^Y8NK0X_GO\JSZ8?Z MI_/S/<]];=AMB&;?0?PND]4H:E\]^1+(Z_$B3685Q2@F+WV4"2H+0<5(:I?I M (4;Q)*$-*%UN?2]8/HYPJIT.G['-6Q;.4(;&20"EN*0[2I->#$2)0+$_>S !37(VO# MV^S93>Z+[V4B&AG5!Q[[!RY'3JI /EQ-YM5+E65B$)/64")-M\^:2]/:LCZ, M:'?S>N^G=_NNHZ)D8+1N(>6,M&2U@^!#@JQS-HHG(W38WX@[3$,RI@WY\KU% M;2B:A@=F[T5U;<_^1FME;BS6.DE0.3M0NNZQEFA ":NBH:B,->\RNCG*016A M'H95+>0W;!/Z]I3B>+RC(_,A;>NCH 9A=#>;NOU88Z4%CR@0T-E:>6\Y1*L] M%&V=2K&0C%IO5?5CC;MNT0^MS.^G?54HD&O%^%MRL,.DIJ%&-&0?#1D"'VL_ M854B!&[(P8X:DY366.\>(W0K,$_(3&]"I!L=OO/)D"%C)X /!59HGEQUWR$P/[+H$,*0@=QB,VDXVAV+1^RGAC()S(PN@ MLN2[..7K&18-CFE;O.>&Q_6N&MCJ\4.J;!P.@S:5R\&TT-?9* 1>SSQ%<-)F MXKDB;9FSA^R\=A+=@A<>J58P8N-07,@A8_30J"3#XJYXOGS:\) M;@#["1GN35BWB8KM0\![L>WWAU$Y:XK-8@*AF085A (?37?= 'KC7 J^=>_4 MK8 .*14W&/9M(\1#\JU+'"K)>,D6(28?0$FE(!INR!U"J6G:9,BM-_BWA#JD MY-VP.+>Q( _(NK>ST_F(\V \UP23N5+;&26H5QF"YB+K7(01I75=W79(AY3P M&Q3G-A;C@2CW!SG6G[[BY O^/ILNCQ8C%GTL2400KF0*]+& L]R#C+IPP:Q* M[+#>WFW$0[I0>S 4W$FL;?8O[@=<,:9;@7]W<.1RX13'8I:>D7*NA312<0BI MUM5P4U(QM??$K9Y8]^QB[ !BP^NXGQJO]BJC7C,UYR7-%]?[G*^ 738L'OG$ M%EF334 WRGW)J;$C/-85I<+HP4"93+)A8+1AVGHFMR7 MZIE-Z^G,6>E^M_O^W::/ M:.%@[C2L1AYG]YQ5IPL;;4I,$HET A6E@9!1D9&/)GI7STFTKNRX?/BN)N2? M83ZN1RFO1L.TPQ"Y!=3U?A+K'-$VDM"S$1@5+0S=NF'\=R"&Y#=N)^?;)F*W M>6[F,=R\RK/#D9,*TDH.T@JS2IX$0Y$VYS(HYFTM2F\L[^]1#,E[;"/P'6=Z M#U:A^WIN&E?IEC"];B-WM@GK/J"=1=AJ2(WLP;VWY ;K4N !ND(C96L_&"D9 M:*.2I:C0,]_:'5_K-N-F([QP>F@],%6/I+(B;=WY#!"BU* TD]%K3]/0>OOZ M841#LB(MV/&PBME)'CT9F$M,UVZ)U-*1(JR'E@N%RXJB9HBY'ELQV>G:(8R7 MUD6,CX(:DOG9(U.VE,I>(Y;?Q]/Q\>EQ]S)%6UT#IK]JE<_JC0T#ES6?U$?\ MLLT@FX4Q9"?Q'H)<8'E=6]LRKXJ."#K7#FO"4'2+FD.6:+,(+GG=VHZMBVU7 MI?7@V';;6W7OSC[-I.S/; GA8B&:"%'/']V4AZUN&LY.V![MM.!LF-C4Z!$TF!8HC@7(P4ZO,2 MLD@)F[>-&X2=O/:B^F+:Q$ ]"M56I-4O9%BX-1!WJMFZD?UF;:$704B@T".Y;UQ%M#')(6^^# M(]OF8FRS._\@QD^S7\FG&>>;98C:D">;+ >KLB"0BGQ.3!&25XE+28[L[9C[ MGBW[S9\]I'W\7BFT#]GLD4!WGH+[ Y?ORR>02MX'0KQ^9+I'4IXW&KH3,H5FM&ZL!E]* 5I+ M&4*ME4'CM&72%32J'0T?0#*DFOB!$*^5W-;,AYR_7K]$@O./O_U_4$L#!!0 M ( )*A^U9 U:CIWT$ (K\ @ 5 87!P9BTR,#(S,#8S,%]D968N>&UL M[;W;=IM'DB9ZWT_A[;G=4<[SH597SY)EJT8SLJ4MR=73__O=O)Z,?ON)T-IR,__8C_PO[ M\0<CC_][<<_/KX"]^-__[=_^9=__7\ _O?/[]_\\,LDG9[@>/[#RRF& M.>8?_AS./_\P_XP__/MD^L_AU_##NU&8E\GT!.#?%O_LY>3+]^GPT^?Y#X() M>?YKYS^=_E5%)6)P&@Q3 90Q"H*5&G*2+"N/U@7Y_W[ZJRVJ,)84I*(XJ(@( M/F0&QC(MM'7,<[OXT-%P_,^_UC]BF.$/Q-YXMOCKWW[\/)]_^>M//_WYYY]_ M^1:GH[],II]^$HS)G\Y_^\>S7_]VZ_?_E(O?YM[[GQ8_O?C5V7#5+]+'\I_^ M]V]O/J3/>!)@.)[-PSA=+D#+Y_G%/[Q*C?YI^4/ZU=GPK[/%OW\S26&^ .A! M%GZX\S?JW^#\UZ!^"[@ R?_R;99__+=_^>&'I>3"-$TG(WR/Y8>S+_]X__HV MIYRF6.ZD_9[D2I2LY M_ZU^VD^=:?I,A$S3:42@[^*XJGA#&E=]>G>:+SX+,I9P.IHWI/CV9S>E=W(2 MABT%?.NC&U"[^" XP9.(TY:D7OO<*W2>$WF3POJ1XCA>%C/CC?TU[-/J&MM1PE^F^,X M8_[QAV'^VX]#IGS*.C,ZFHU*P@='Q(B4T&N?0@F#RX^I))T3-9JD:Y\ZJL?; MY */48@X6GQWD'$X.+]Q7H_KK1+.>,'7G,P08707D9P'EFP1IM MI LQ%.2W,9V=Z\@,TU\^3;[^1.O\5(59OUA(=8GJ ZLO!=V-JX_TNX,BIA AT168Z5JC^PVA1+H-F4"Z!DT3+NIJUZF^5) 7TW/ZSW;+EMNI3"C[^_QRV0Z'SCA,G>R@$VZFC3% M@/?90*2]$3)RIDII@N>-A8\(VBXBO8TR;X'R.YP.)_G7=CKG-L7QCY2-"N9-0;P,MNP#]ZW@^G']_-1SA[Z=5 M' -KN>(F2TB)_$^E4('GU0F-/#$;T&5I.P%\<\4C +:3$&\#JKH#^AX_#6=S MTK/Y[^$$!UPEK0(KX*0A>GC6$(L0P+32R6@A@NEF3*U:]6B [2#,V^#J[N"^ M'J?)E Z.!9,?YG15O)RAL"3R&Q US M.37 ^EXBC@;Z=J*^K0FFNR9\#-]>9^)\6(;+:-C9^9,M!FV* HDN 9F!B534 M,>(\R5149 J[&6+W+G\TZ+<0[VW<;7?<7^0\Q=GL[#^573[ &E_P7H/77(!R M-M)7Q@#*;*)FMEC!&F"^8NFCP;NK6&]C[9IA_9*^?#O]./ES/!!)6IVT!^2Y M@+*D?JYP!D499KDNG-MNKO0="Q\;SEN*]#;*OAG*BROF[?3==/)U.$XXB&@X M+XFT3WC2/DYG3K2!SASM+,9LK, 5\=EMH;ZQ^K'AW46X*^(GG<)DUPA[-YG- MP^C_#+\LK H?58S2.Y"A9% F! C(#!'(Z.31193HVV%^;>UC0WQ[P:[ NU/ MK)XU+Z88%H0XYS$R)XB00+Q)#.0>2@LQHTY*%!.XW9 M9V&9$DVVY]55CP#6SL)<@6Z# -;+T^F46%WF0:K:D8E^.AMXP6),I&ST_X&X M+!Y\HC^"%:+:;4)FU< $7KWZ$:#=3+@K4&\0OGH]GN,TI/GP*_X2YN&,SH'0 M*1N3%&A>*F'"0/2N0''<84C,LHYG]7VK'PWJ#82[ O4&@:R:'YN^)!?\TV3Z M?9"55CD&"[P@.=^!T]GC! ,T)=?ZK:A3BS3%M46/!N/M1;D"V@;1JP\G833Z M^71&[,UF \PR>%L*",P:5#1D/BBR(63VR1;)R)QOD4*^MNC10+N]*%>4@#0( M4?UZ@M-/='G\?3KY<_[YY>3D2QB3RDFK+;H G'L+JE@'+I0$'D40W,AH?8NC M>N7B1P-U=]&N@+Q3E.I,!3_C:'1.3L#BM#$6@N'D 40G(:!$,(PSQU$R;UI$ MH*^N>30 ;RW(%;AVBEN=V8.3DY.:Q9ZD?W[X'*8X>WLZKST8U=\;<*\].D]6 M@;8U \(07#0"AM'K<<9O_PN_ M#X1-7#-R"#2KS&J#$+,)0)YA]#Z)8$,WGWKELL>#=@=QK@"X4_#KS-I_-9RE M,/H/#-/S6M(BN%>,_+V8I*X)S@A11 -,,YN0:2%8MV/\KI6/ .8F0EV!=*?H MV#FGEU2]HN_,!CHGEVJIL&-(3)*G#TX5 Z7HPE,DHF1H4J![8^$CP+F%2%? MW"E,=IVF97WXDBJ4PLOL'"BCB:H2R4[,4H)-0IF$/':M KESZ:.#>ENQK@"[ M4W3L!9&4%V2-PJ=!858%Y&0FMW!#>*VW- M.]RIG42YJOOIAV7#ZE_3:#+#_+TFS^H.UO /.E#W U; MY\X)NTK/+XO3C188%KGQ.@/= M771*AEIMS(R$Z+5&'1)J&Q\I^M=&(>P1_$U$W ?HB]C0@JX7ORTLI(%$66V4 M13PP@TJ%&$S6@[/T/_I19NF^^,M6H-^B8G?V7RML;D+=3; -V^!74/3S&46< M:YU4M4=Y5J!$LA"-\""Q6$?.A"2<::S#S-],:,?Y3H:ZN4TG.V\$:G]_(T+YT0"PG4U&1.\^%1U"*:W!&64 G ML\F"Z WW]<1ULK OJ.AZI+R8S4@X+V)M1TWS@12!_*:0@%M%5R-+#J)-$8R/ M0FE>T(7[NO&WX>DZ!;L_2CHB>_,HZ2#0'FZ,)35G\>8+HAB:[%S2P+*P=+:I M E$I^BO3LC8=EQ+O"QILC_(-0G8/=A=T5@+=1;1]&(-A]OG%.-?__/J?I\.O M843$S5[,7X;I]/MP_.D?872* RLQV\(="+1DQEA2$M".([M_Q@K9HL7A&9+G$R&X77I+=;@TXEG7)2D<> M6D^M/NALJAX#Z-M+M.&TH6X7V>^3<3JC7V8A-=U8P&*]RV). M$(I7$(-%'6+0XMY6GMU9'Y ]6!\O)M.ON!T_OW=*-!^&N=JE7^I M_C[=B0.CL;#,Z#+,0=6"JVJ'*PFE%+H3C<'([YMCMMU-YBAZU)C04=@^&R-\GD_SG<#0:L*142(:# M(14D>Y<,(B]1@BTN22(C&=$X'F1QA_&E(-LF2.=*M M"ZOD@D:B*B;K,V1;/1M+AT^PKH F\R.5S&/@K6-6Z]#UJ!6@N> ;CC:\N(TN M_=NK)JDN1IJ8(=E:@%TDJQI;P"BEZ"?%RWM+G;>Z\%<1\JCA[R[:AN,-K_,W ML%QE95@!5)CI;JEU %$X.IRL=!RS*;YU!-Z!;":SB[\)R*-\,0AZ.E MMSG.BQ*/SY,1??:L>A3S[Q>LEMKF9@TI&(9"K 8-C@%W: M'GT:NQ<0>LAD7:'S9LA,,:50DMX:'A8G$5%F!8,!TX7%>HDC)C(/%%9DV&* MR0*9I48)IU#=^_#(-IKP(%%'HQ1MQ=]/2KJ&JU<1QBURQ%K4R\GFB;4;UY = MY(JVFN>B6/.*VCN).1I]:"/N'@+#%VF+-#G!C^';)6$,A9(N&^#:U^9-SR#Z MS "1DW9FY]F]0XS"$WKK:'1:1K+&@%SHD M)7'EF-",K*<^(@5'?!:T$'4/\> 5%%DR?QT7!?2BW4-J"X$1TU)P+KAE*J4> M'W(Z.V<&\#%BRQ=1SI M0:*.U)5L"T8/)N/-<^L*939K+ZU%8,DF4((+\,$:$,9+$TU6(C5/(-])S;'J M1QOQ]V!#7B%J8!P6&PSQI0N9,=(X\*F.)E":KK>"1F%K3;BR_)%"OZV ^R@@ MF)R<#.TVJR<6CE,EK41R9514=2(%L5C+^^L;W9!$9$&Q&&-H[3'< M0\Z1ZD(K 'JP(._AF/C45M4J:U]?5JXO4KCZ1I"6@AP<852\]_'Q[7H%#RGQ6!34HJ1:WD6E"QFHMJ[>,>(RRODP3 M5?V!5O<-3-PJGK2:E*.!OH6H^XDMGYZ<+@+?"Z.U%K]-\7.=6_(5EZ&O-Y-9 M+9=Y6SZ&;X.(226#$4JLH2\4'")FA+QXJUMY9E@/'5";D'@\&M,C-#UX%A^G MY N?3K]?.=T"C]9Y1>PJSNIYR3/##_&J9CLFQG5S3V%Y)S&L[)!8I:*ZL!I99$H20*F?!@1 Z93.#@3>OV MN(>I.AJ5: S 3OR, 2LE94.777*U9T_4V+G2!59+R.%!;D.*4,DGMN.$O2N5W7PAVIF]D4BAXJGB\* M 9?C+M&G(H.UP!C65R(2V<*:])B)J 17/@G?VQS0G0R*[:D LH,8#W\XK-?: M2!D1@LAUE'$.53!8QR#J')A0+K>./QS,<-@6 *\]%G830>]F(.@Z%#W9L; ; MP?7P9-!M9+T;+4 3'..Q@%WT9">7:Y=&!E%L%-D6#*&UN7#P8V$;@[^)B''+$&0ND;'BR?-[@_J0QH+VPCJ;02[Q[&P%Z?<;%+."FOHI^]" M+9?XC/-A"J/K5'88%KO.6GV-D-V8SQN#987D3'L;C#!*D3J0?!6<1 RU<P!ZN-%N^&;6"F=-=A!3#;Y9%2!8C:"9\8[)S-"UCVX>2 RC M"]@=Q'@H,8QE3NY2+O4?5,$OWG% KQTJ!SSIL]$"D4=RV4/Q7A?'-&MMS]Y# MSH'$,38"^=9 AS;"[L&=N8.T\_=7UB"NIZ#&O83M)[[1#,;UU*,#!CM7%,=4 M024,I&(E*!-$'4A&E*)AAER!H%SK.KP]*,@#(9#]Z,'XD6)2!*;]&4@%FV#X?<(&+W]F1#D&YYRUTDW(<5B:-1 MG4PYSK^%Z3^Q%@J?V;?GS_F$%'2N9I6HLVJ8)6<^,&(>#?%94K"I^0L>#]!T M3 K15/X]' GO<8;T@75<_R_X%4>3Q;3*ZR2RDI6(4D*27E;SFX-G*H+4RG = M@A3-,V5KD'5,6M(:A1X*.O^.8YR&$5'X(I^0J&L5P7SX%6\06=]N4$F"]"F3 M2N?%B&8&-I!D2I"2N]8CYM8B[)B4I3T2=U9M[C9(NZ)\IH_X[%U5.CV'9A_B M[D94MD3'2[1F<2"Q)2XM9*5AZ.R*Q9L'I"5QG#+:P&@SQI4= 5\ M41FQH#__]+]JJM006?\'E?U^/;XON_60T>C69_AFF>< 5!J>YAI(+ M!^5J69UT=!)SEZ2@K[!Y8FE#$@\B1+N);JQPHWJ#I+?LXX+$14QY]O9T/IN' M<9T".N#2,*3S"5@FLI1S9.'E' "3+4QSB9&UWB/WT;.7J[ _,._NA.J&1 ^V M]HHZ2>.MEMDB)&-4G?^L(!9;'W"OHV T,J%X\_-S_T6JN]2(CE+OP91>4/1Z M-CO%_,OIE!3S'4Z'DV4V:K;XX=LOBVSJK]]PFH9TQ=<'2X1!74 R1M9.J?NH'C1XK.:8*++.>,2$QFC6F!NW86W,9%/4LL:8=;'4U7Y_Y[.EK,(/D[N:$9=[)%X,\_^'DER ML^$]%T"B%9FB!>SD9?R51$ IGMG@YY%X?Y\96>%'%\??I9#8;9(90H@" M3.6BZ!Q1MNZDV8[2XU:O':#7PU,G:\T@RUDGZI-?#($S#MKR%(W. M*=G6XP>O$7#<"K&]K%<@WZB[[XY0OXBL.&WJ&,1A &ATV OHNG>DL\#Z>+KI.TUG5 MU#I$]=3BL)*@/8]NZ [+FDE]9RK!%?:L(FP>QOGL#!"SHH<;1#&%(OU85TB*"6$R+P %.3+!ED* MF4']67G[*BUM ,[=53-;2+:'@JH[TD;GLR:233(9 @HY!!=I)O)^'+!\:67L^FX*K4,@H IZU I4-^4>^!,@E2!&*P-S' MBV7K$7<4:M(+$CT465V;:KL\W\X[LI*2028')F$B1TMZNA*Y!%,DXSDZASHU M5I$[B3D&E6@CZ1[JGVY.L3U73&5UU")!04-VD50!/'H/Z RK#^UI9*T?/5U- MR3& WT#&/10EW3W@#%5T*GA+IQ*2QXS(P0FG(=,5Q@PKVKC>&A8.=.ICDR!" M)T'W'V]D4?) M5&'>&/E(T=]ZZF-C\#<1\6ZF/K)@G$J*S ]6FR&]<\L;#K6N#^ZBC:J?%IR# MF_JX$38/3WW<1+"[F?I8)"=62@0,59>3R1"L)[(D&:*&F):ZM75WH%,?&T&] MC6!W,_7Q]?@K+@N-/V ZG2[&T8=Q?A6&TT6)WF\+OV39#OLA?<9\.L))>?$U M#$?5\"F3Z2R,\/+?_E)MV='L.A/K-1WW14J#QN2=2.E&\W)] :1(Q6R@PR'Q M&$(27J6(.D8=I1ST151'M^%LI;>7*[V:3#]<6^G-1<+6."NS\@$B%@N*D?'M M/*-=@;KDG)0UIGFSS"8$=CU3A?E(\8JV1FGI/;P14HG:H#8LCHB#ZP MH#+I2NM9GOURM(>FZ][T]>9]<$"ZT$>VX08_-[B]#'DN"B;_&$\QC"J[?R>0 M?JZ'$=9*.!V-1>7)!7>FUNX:"<%[#1J-C3XCQM"Z>*4)X<>LM[M'MH_LQY9, MU*UUR823C&E!5INOTV:4J@6_R00@Z]TPX7V4S<_;)H0_JV=+9'L(M=U_-]QU M'0R*#5S5EZF]E+2I,&D(D4O@,J:L5 DY[?;^OXO28U; '6#70V+G?JK/9@!S M48=T.R(QUC,[QYI^K+EK7@QYKRKKUI,UUB!K9_6E!Z)!FV-Q*/6HKX9CLE.' M8?1Z/*/UZD*3 M]I+OP0K[. WC6<'IXL7#17\Z'8QORPIJ9Q_I(V>K?W2>'UF#EYYR42WYV$\6 MJXF"W"IBV#.ZAZZQB65+1B9"$?71'YX5!)T#&!=%LN2EA]"ZL.KP-?6!C-O! M*^HFH/:2J9M^F4S)O_EY4IDYOU+.$@[99*LBK]28 DI&#=$S#X*C9L@XUZE] M<>\]!.W>#]@?UK?20:V ZB-Z]PG'Z?LMJI*VEDO-0*/6M,E"@<)ZTP":'HZ=/SYI"PZ(D9H#TSS^O2#(\&WDW-$U:<1A#=&>TZ@#STXI&(E^3%U]_]+<+*^0^1@8D'DS.(T@7R/HF M@[M.YZG#?J+ER)C!YJ_\-2'\J6CB;I#=4_)5Y^*B1 6)U:%@02Q.Z @I%BL* M0YOR;F_1 TZ^]G=I;H[%H2=?A74..1;P26E01M9.13JH#2]%L>R)U=:V_B-, MOFZ$^)K)UTTD?^BIK'5X>4Z^;IC3VDA!^LQI;8/NH6NLXR&H^E*@XMS[_ U=]:0#-;I.O-O-2B\G:M,[8'VWRM8OB-(+H M\)*O%]]\,9OA?';VHUP?'J)_6B?F_QQFPUVE8#>D9L>)V"ZRNI&.51CJK$DG M:R&0]S'R2+HIE!6"<\OB1NG8#>GJ&(>XOAAMS#?#$(>CLRVQ7/KMY=+T"[]/ MQM-KE%Q&>J04M$1T8'Q]=M('LD%URJ!#'O)8>M(. M1PEW@&T?3;P+L:W:*F21<>M\@9A1@LIDKSFN'"S?"*L/QMK6'45W$O.4]:H- M0CTDA%N(:)D9$*9PC5Y!4+G4VDD)W@D+:)S.*D;3OJ2^&?&[RMX=CD+N!_># MR0&><__S]ROV_ZLI_N=IC6LL8KE,1:&##76\L"!W% TYN!E!%Z9T'5;5_NA< M@ZQ]Y0;WI"]W:6TCW'JXBU2L8=@.9L L>.-&9V<1:? MQ5=ED#:*:$!K?49CX(%H-*B+9D5;UIN!=@]=>W0+6@&ZAL)T0J.'(,:537/Q MY?\8XI06^?S]#7[%T3*A'5DRD7GR24*N3QTBB<%9\)PQ$]&@Z<^HOY>R9SNH M,7I]^I8K8^P7])[7UJQ![ Z-HCL)W;MYU SQ=8ZMIG#MZN:[DVB)A>>H&1@N M$JA$Y$>1&)1BZ'_9)EU:9X$/0+?6MY\.0[4V0:E/E7H]_G(ZGRTDP,]N;94Q MH"H*3 D(J@[6<%I+B,J09:E-C*)U$/\><@[#=&H$Y%TJTQ&%/FVG*Z2)<])* M?9PZ<+"!DZ.1:L4]YQF2#08SEQ*;-_G?0\Y34Y!M4.BC_'%E*G-QBKI8V\1) M5Z5@M4(J18@A64BEA!1]G=?3>I#OW=0\;2.Z$4J]/"XVFT^':8YY-8VKOWO^ MG.(:M/=D1W>A>S]F=2L=N/5RV8X![.$0Z\1#",H%6S)P)VA?HA3@LLV@718F MN!*E:EUDC<;Y,Q?O\M3/^)\U>GXWRQ(R1'X80#Z^D/ MY9("+XL'YJ2/7K/@ FNL3:LIV;T]M3LT)\VAZ,'TOJ=\V"L=%'<:?,H25"TD M#J($*$:($.A/AZU=LT.J\-Z;HC2"I ]'_JXN+1^CTK+VL7CBUD1.[B./X*0T MQD;AI6W]N,Z!=?H>A@'> I\>'GAMVS&Z!B_/_FU'W@+= ^]']@6 M$U*."7BT]7GEJ"!&6R#XD(M!J3)K_9[EX6OJMOW AZ*HFX"Z\WY@YZQE&@.P MJ,BF3.3HQ#I_,[ B52S1BM3:O#_F?N"-L-ZH'W@3H';7#TSL&A/)RD2LCX=: MH1>=B& 9[;KL"+_2^L ZRG[@+GK3 )I>^X%)/G^??,7IN#)\/NPW*4]^2 ;R M62,H3>X/>2>9:)7")(=,Z-:C\^XEZ FK3SN@=M48/ _C3T-R@)8.U!CGEZ-\ M7]4%\,WPZZ)!Z-KO=>K^[;9DDQ;?AES?[.,5+A+*2L>BE,ID-IGJ43I60A0F M\$'7Q3N'$NY:X,U%/X:R.6GI UB=$ZC"!/BZ(0KIKO"92:Y;VS'KT-4@C'+7 M&HNG P>".ZDMI[-=(/&MT('G10(Z'7AB$3UK7E7S $U[2'RWUI 5T9)V,/11 M%7$W?5<>FSQ[SC=4, 9),IE0*D80A2>",\(^>6]3#B\T&ZGI2R M; E'#U4VEZ-T[Q'',LM1G B6>SKSG&-U+'(!EXP$*8LR*EBI7.OWA->G;F?- MRWTK34^ '$S3\=U,_?S]M_!_)].7HS!;%H!@=$$;\J,9(UDJ7I\ANA:Y#;5Y/-9J3N+>/8 M#_3KJU@SW Y!W6K!6LX6Y")AH$J$6)-@UC-TQCB->7<&UP[5[.%TX6%JV09P M]9$E/)W-)R3W1(R:^1NM%+>CZBL^]SBQ[2K AMM]0=UA)&L M[[9Z5R!ZH\$67Y_DM'0.QK70O/G)1XQG)R'V$(3Y. T93\+TGS6AN/A+Y?)B MFK@M-DN)P&6I;%I&IX8H0,:X$-S77%YKG^9>@HY3,=ICT3#TLM#:=V$Z'Z^^ M73*I*2$/)DH?6.,X46\IV!Y*:G^?C-/DY O. M\<6G*2Z;0L\H0U2"!:G 84SU02&$6&*$FK0*10E=0NOGO.ZFYCB5HS$*M_5# M=]6/Q2#5, ]\8F+ (@T.9#Y:L%D9T Q3M9ME)J<%J.DX%H;NU;NA3[U"MCT MMTN@KRUXI,'M[87:T%&X(.)\"-H:9&P2CEX'XWVTFW<0_DWX.DBNH0]_DQQ& M1P5:)NE.0#HI>$X0F$):PW+W3> =P1NV^.WB< :X_;O./STN=;W M?,5IN" HZ1B-8XZN=C+^5+$G[J-J]4=]2-VX:\8U1Z*%6 MN%(XF5ZG\#V.\<\PJH0.1.",1R(JQ"R(>RW!)S)U@RF>Q4)G*6M=;_4 2<>G M(:WDWT,B^/7)ES"BY$Z[Z_M0@[+E5ICT4/B:=+(I>:O:PT)6/@AHX/G!62--F# MX$&"4@XAVB06&5#N93))-P\GKDG;L:I-0T1Z* *^I//B<:\'" Z.B< RF?8B MU^&CY#P$)@Q8'E@HVOM<6K>-;DSDL>I2'Q@U3'_3?*P M#-/"HZ##A!0VGWD)Y: MS?$R4)]CTD);!M)H!LH964-#&:+/PDNA0TJA!S_F#G)VU2C2OV_;7=K[;@JY M'E%F2%=4] 6<2AJ4IDLK"I; 2FDU)J?%>N-2#SW'U0R]E4FM3:38:R[D83*. M+ZFUD?#O3(IL+KD>@:3CB(5:0^DB!E!(AY6OCVR&J$WQG%E3UIHHNF\ UTIJ MM#X%W M==%'"-[6,KMSYS7-/'Z83](_?Z:+/K^L-8?CV<)O^SU,JPG_%3MD']?\Y 89 MR&UXN#G7B.C6&H6S6JNL8PC!*YL):UG]$CU8Z?PQ1O+?*"UB!%K&;L MS]\O?^7,L7KQ9YCF2Z/=,*NSS X8.KNL*O,IDYZB*(I69"$V;X'O3'7G$0'; M4O!V8=C._DZ_.)^]'K_#Z7"2EV-Z.'D]SG(.0G %2JH +I'Y+-QBLWI2D=;3 MDGI@8_>1A1WK\*WA!'M6A1ZRL MZX\,LQ9LL+?[X!\YJ+.9]+829$5>)?AH^ MX4 &54I@$72N1:,I1PB%_#B.7ICLA$R\%_UNS07H\7O8%XM MW%^_U2]QP%.0,B)1Z>LCT?4-,E<3!H8V)=:J(>Y:MQ>O1]F3T\(> .LAX?PK M&:J3[XC+J:FXFM;?)^.OM"MPN4%F'R?S,+KZ\Y>3V?SWR?P_T^33>/A? MQ'4U!\^NC 'CV@C-'43):R6_"/5Q!0=&2XR%L5Q,ZX3:9GWZJ_QP<%4TH$"!C&Z 2029/C+ /(D+5PSGN!K7,KN^7P>9<< MC@+UT!-[V>_SH-AG=\E]F3G1G@PL3!)D<1J4$1:"3 Y""NB=)C5.K8N:FA&_ MJYSDOFWKO8"][R3GA4VW()]^>9%IR#P&1)=!\^C)(P@(3B*YOB;)5%!8KUM7 M@%\C8/\-?CO5@9OV]=98]."=;2^(2S;&^=THC*_TOZ[#4T\S[OK@9S^#\#JH MR::!LUUA_%CTEVFC P8-F!:/OW(/KI"9XF/.R:$VAK>.13P>O7U@LMZ!J^TF MT/:@KA<&]J77>-[I[VW!.M@A6!M!9?00@ZL=DWK&^ MRQ/J!%0?*8-YF"\DLA@Z099,)7"QUY+)F! YL+R8_RX9.!4S)$%2R"IRFYN' M_>\BYFE;>&TPZB%H>I6>LTVR#D4]V6JWJ=F/I=4(KILS/-O(NH\IK[[.PDV!Y,A+-$\$*) MC0A*2A,!^8(SND8C*K);C)0HN5&86_?*75G^:9L!V^+00V;HC)0S=5^'F)[N M_&N$[.>ZWQJ6U?!VD&D/Q_QUHH(-7A4TD+CEH)0R$(NO-":%27A4V#J0L0. M'[C1^\%W$U'N+LZU.*CH+*/S[NWX8JJXI2.B8Z9-D^NS MP<);*W%'E<6KR#MNA=D.A;V<,!\)^XNF"9VY<)E#0I;K^*((8?$0/0;N=69< ME-8.XT8$'KG2;(G$;M[F7MU0\6(V.SU9UDDU;SU9\=F]-9\\Q,>-]I/ PKE M VVXI!0S4>C$9;#6./3!ECO:3U:LLO<&%*:)#^48D#M,!U2V$H@!#=P4SK4( MM876JK^_TVKK15H=U9G@^S>\'!E6F>_JF7K>"7M5DX/NLY%!LN15!NLYJV9=A!BD!1$+VOJNDEMO'M0F^OX$^VPZ M:?->P#[,/AOK7)+S49_-1FJRBX:%;3!^+/J;2G92IP(^F,4S7@)\YAQRCI+N&-K; MI74?XN/1VXWZ; Y.;3>!=J=]-EZX&B0A^01#MDUTGB05Z^/;,I#=DXWRK4W( M8^^SV0CKM?ML-@%J-T^YK<[4OL?9?#JL/M?BYW_0.K,7:4[^U_Q[\T3W.HOU MEOG>F-,;J?":>8I:,R^95=KGP T+44KFO1.^^#M2X>LLN_?<./=9">4TR*#I M ([9DJ(R#]XSDZQ!F==[(_=IY,9__<]3 N_UF( ]79PZ;^>?F2P%LGH&BGG/)))[6CFJ.>.#S ^Z"M MYC<+??6O0(>4&%^?V]]/ES5A+I.;+#V0/OOJ-F>(+GH(:%A.RBL9#B9'LBES MCVB3[$!+=[^AME"Q??BC6S-ZO=IF(% $HT,FN[9F5(M#,G.#!>N8ML8ZRT3S MD/..>'O>27O921T4[)!2]@_R^8\%'A=\1H:.NU# A*A!"5L@QL1!8K3>%G+G M4NM.Q%WQ]KR1]K*1.BC8(67['^234"@XO,JJO MS__C1[J/^]3A1QP]>U@02H0B@D%PR9)]Y54"QU*"PH/0(D;&V.-)^6S(_/-F M/LS-W*<./\8(WND49P]+ :4-GIL$NNA:3F4RN,P0,B]<:%:BXH^GS&$3SI^W M\6%NX]ZT]W'&#!^6 9U93!:F(+B806%]<=&C@))M-"@T!N,>S0[>UC?>:Y^8 M(C%SNDBXJ \%^7CV#INPQD=FT?/YFMLZ.T"%!K-B!HST'S.DX'E<#4.J9V+T$'Z"#WCOFD+\ . MK6?L]T!2G0^_XDZ:QFZMMM.NL?MYO=$V5G1&&X1U*1HE0XG2E:R"6;F$'AE"<%XSH>IDAV3-?S[MBW\IR2#4S MBS_.)O,OLY!\D%BRGCE>7U>H@S(S!T>:"LB#]UR'Z,7!W DKZ']6\%V!W[!> MI!K+'9PIHC[1UV_+6+N+M=\PS$ZGBU\YZS5AKAB3Z$HI MW K:F+0GG>,*F.)).".T-[&-\JY-T[.>[@#+AC4 K;;;RS#[_/-D?#H[^^G; M\>L*?!@MM^!L$%Q0R3L#3C@%JII$7I*@K9.,1\^TC0^&:G9%[+,2[Q/]V]JM M.Z>.1XO?P;R:USH >#RKM722%:D1DLL!5) (SF<-Y,$F%"Q8V_SIQ_4H>S(* MV2-@M]7*-)N8A].OPX1WR&S)"GWUMKS'-/DT'OX7YN6I_W(RF\]>AB_#>1C5 M[[XXF9R.YX,0>7*!D="4=[5 .T%$*R&1Q9U=S$G)UM6,/;'RY!3W$%3BMJ;; MG6CZ141P(<_9QPFQ?M/Q'-Z.,@Y*D+L(AB("1N,\% MHB(S*7G.2")D,6'KM[WVQNSS;CE(M;J]G]S![J?E(?)J,CW[5OT]/N"*$4.6 MN+5%@LHI0HQ%@S I,>.-*\V'JN^6P^>=6"@A6Q>52+[Y3GB*5"Q5HNOP]%SEO%&5\T9JLHMRT6TP?BSZJT7A MD6L'N=3:W!(,>*XB8!$\1,UTDCM_U?9@]':C*N>#4]M-H&VHKHN0^,KQ^>-\ M)9%X^?VS,EHCH[19>@@A)5 A%O")!Y ^,\:M\O)FA<0=^8W-USY YZ=WP">[ M0ZMAL=J=Y/[['=JM1,4']*85A#LXBRZ0NMU$=VF7.?(#<\@ ];@L^F\3R5CZV[!E80\ M85.F'4 -;Z#9=#YX7R6Q\!$,1J90.+!%TFG%O*M)R (%I2S&12G56MX6?>H5 M#:&_76K'M06?9O1I>YDWO"$NB#@_"M<@8Y- T3HJT/Y(>#BFTT'X-^'K(+D^ M=O 9.5S[J(HO0,9%JL7<#D(JL29V%-URW+*PUMR,?0-X1W"C/7Z;"*PQ;K^1 MI$Y.3\X(*=Q'HWR Z&H.C@E-7S$!,1D,!5/V9:WJM >0N[;H[N[C3F*?M)!9 M0S]_04CX=H40)9B-,D8PHGJ0P=%%H,F-E"P10RSJY-=*Y#P$WM5%'R%X6\NL MAX#U61?,XB )D59FKG)0IS:)),G\4N0)1$E'233$5NN*O"O+/TT[J"L./3A/ M9Z2<6?GK$--3\NP:(?O)>FT-RVIX.\BTO[U_GD&+PAD9$@25Z2!"3.2\.PV. M96&-1"Z;OW^] X ?2 _U@^\FHMQ=$G)Q4-%91N?=V_'Y)98,BUS4I^&M9J \ M,>U8T72GB6)]"222YJ5"ZY.W^TA)!R#7RQ=V1F%W8P6ND/KQS\D9J9J\#<.Y MA:0UUD<2(G@;,CCGA38)M1([&KFUBKSC5ICM4-C+"?.1L#_7;E:P9"X+&",5 M*&D0@D_DI68;C"J,?)2R>Y6Y)/#(E69+).Z,L^U^#-:RLK?O\5?75]G5V*M[ M>+LQ[LH59I@.)3"7%#(3"SG^Y#7R) L*9.N-N[J^WM['7"EN2X[)@[8Y@G*N M0 P6P54^2]31B=83;I_$F*NKP^,=8\'5J1:,%=KU3M"N)Z,6F$YD97@1_*ZN M[)XX/,"$6EO-W\/ JVT5Z)"F7FT\WJMP[HQ1= F+PLD.%P)<*JZ6"T:>.2JE M#N8T.N*I<#O0TKU-D-M$Q0YI8-:FK]?K8$CHW(%AO(#*Q8,OH@!'GY01W&GW M6-^0>]Y)>]E)'13L$3_P-H@84^%D'9!90& D?M M>2/M92-U4+!'];C:K:M7%[IC>03KLJ 3PV6(+BOP*0C-G-19M^XSW)-UMR4* M\6%"XTU"-WX,ZD4DGD*:#[PHR(V)I&BY;HX:C)))0"#?!VE_D$KVE4F]P4-)T/(Z=K&9#0$%31$[A -T[J8Q_/B\N-X._UYO_:K MIH_3@W]8!B829K6#4:L:7$>C($9K +/E0G*O_2.*-S_&IY41A1?&F1K 2OA0>&"J50TMOV4TJ>X-"Q3K[Y7L ^S*%CS*#6JB!$8XD#8R-$&3D(ZT7 MD+F6K5\"/[:A8YOHP+U#QS;!XK$,;5J'I^>A8QL-'=M(378QO6D;C!^+_AJZ M:,@<1BBV5AAK2]Z@5PA&)V8MPXSL>>C8XU3;3:#M_VGE\Q:(R*(*RH+WQ9,/ MH\D)4\8!!BM%4:S8YMF@8Q[.L1'&:PWGV 2@W3RA_!Z_XO@4PS@O_*?7X\4X MFOJI'4K%'_[0!I7A&U)^HQ \8X@FJD2>K58RAT#VEQ5!.Y\C>AX'#W]\MQW\ MRW 6/GV:XJ>+YQT6ZUTZ*1QS-K'6$!C,Y(S[1$>>M9!2$MD4H2.ZQIOY(9JZ MGUJ+SWM%V_E0G8+T\G;N3[RF^G/[].H7J!X*G.^0Q]+-8K3/ MB00ZO[6@D]RC!^>=@Z0"T[(XJ5+KMT'NHV=7H9)>=:29P/<=VZCS)-Y-)_DT MS=].SZ?Q5:,S26$8 MG(XY>. L$#TITZTG/(? E7!.DR/F_4,NSET?OMM12HUD/FDHL-9#L!<9NG>C MT]DY@^=MV)+LECHTTVF;B$%1('KRT*UFA7LN4]3K#9Z]8X%'#V0+P;7>C0M7 M^@8]R47DBA4Z8 )9%8R4RY>BZ\E3C _*,%;6 G+%AS]Z$+L*;#<#".Z.E;S( MRS'68=1W9.G>E7H--ZW/XXT8E%>.&U_G\@JF;-+.632$KDE%!5'X/3&H>]?L M/3!E1<*B@,X*3VZ 9Q <\Q!-R,D453"U;@'I.S"U*LCQ9ACB<#2SE(*A+K=&9*%5VMP+7@3;)02@D^:N5"\T>?UZ'K($-/ZVO(S;!"BX:][!NA9A1Z8Z M[<'HH;9[+2+IFXF.RO )!P&1%VFJYV8"_1$4D 5IP(=>B9<\V"XR\ZEUA92*]J?H@:VAO2V:JI>LWK"L:R<3\#H3W)_?;VX&%E,=I[%^#2S>MLK3C.![SNKUVPG?)B'Z:)?8/GZI6:HM9,@A->@ZHR'6&,Q MDNG@K,28;&OGMRT'!YE9W$BQ6A]UVP-\IS=P -&UP8T)6'W&UP9\?Q&VFWS> MB+$ES6/4+H:<@TI.QE2,=QB5+E(X4;:,L=&JSU&VYRC;H[4/GZ-LSU&VYRC; MNK?CT?>'PQ#7].7JYRQ5)>5+#;G^R1L%'3:A\B*(<'A-Q8VW6O_]PIV; M6_\@7&?O/_SQV[6COI_^U1MK'44?Z]VWUQIB;GC;+ H:5RU:/<0'@YK;+'R4'!I@5V?P2;52QA?+<3\;35:6&\-Q6+--)L:[0 M=4GZ&5TA29990.#.*5"1D8]H(H?D8Q+&%1^C6DMM[EGDB)6BE6AO0VZ;GR77 M-?06N410\3HE$%S7L2/.0>#DIG'KK>06+;&S]0%R_]I'K" ] W%;;UPOXU;Z MM42/60O6$NMM&'U;+W4AE==T)WT=YM,PFC5W5F]^=C=W]6%R.WJMM,C@Q6AT M98D']?Q^_N_\P"ZG^/\,8YS_+YQ.STX&SC)WADNP/!=0/-7V=(4@G35:\VQS M6J\/\,8'[V[G/23W:V=G%_8W;08[^W;]HXX+_K=_^?\!4$L#!!0 ( )*A M^U;0_ E+O<\ -#H" 5 87!P9BTR,#(S,#8S,%]L86(N>&ULW+U[<^0V MDB_Z__D4N)Z(N7:$,.8#?,WL[@FY'YZ.:+=TNV7/F7#UR"9UZ46;[Z]^_?&O[!F#VR6NTKQXA/ _U&MO\J>7(KM_J(#G>/[FLJ>OKKCS]^_?KU+]](L?Q+ M7MS_Z#F._^/FZ>^:Q[\=/?_55T^[29+\J'Z[?;3,3CTHFG5__#^_?/Q"'_@C MAMFJK/"*R@[*[*^E^N''G.)*L=Z+"YQ]0OX+;AZ#\D?0]:#O_N5;R;[[C_\% M0$U'D2_Y9YX"^>>OGS^<[3+Y43[QXXK?R[&]Y466LR\5+JJ/F/"E0*]:JUZ> M^+]_5V:/3TN^^=E#P=/3S2Z+8J]5B3*1*-U0HOS3N8_RT M>,M37A2;UBXD^Q%K*L*A%%MO_$%7\%?OVS@J#[-.OS.0/+JS PN>)FO"[I;^QZ7IQ8TL9;) MU2_^<84?>?F$FQ<$:FDHU(+\QP8OR!1@4$G$__;C3CP+'"\G9VXY$6DU5J# M KQB\F^@P7N6Q)SN 5M*HR(O#IG)J3$SNTE;"J$4+2DNB9*K:>M':=#]R)=5 MN?D)E#]1,U>[NQ^/OHGK8B,3+FC/ #5/_$AS85T]57!OK-(B?QPF?)4/^YSJ M01"@O@-YP7@A+.H3 FX_>OSTE"X^\[(J,BK4W)L?O,\+T><_A,7]D"^EB5XN>$@CSW=2Z"?"&$8(Q3 )@@#BD.(H=!,O M31P=E7,YE+DIH]^$, (7R,6BMI4+E%(PL):270%ASLE?ETHBM9-YX$L&Q.ZE M5EW@^VS5_/8'/35F842[%=RTXS2RZMO) 90@X-=Z7&KHH!8&"&G 3;KYH1!( M*<:V2).-#6MVOVKC-I,QVL/T!QXK[97,'KWU&B?;4PN7$_J.6KPL]##)LF:/ MB0EI8]!\'L-^?^W9U%KTV/)I.[O;U*;6EO\ M0Z-:_T4S5<(I6]SBE]_*6UY(1[1TO+[-2KK,RW7!/V8K_J'BCWV&EF8K,_KT M!5KP7((67K ##'Z7D('";.';-V3GQ)=? './UT,6YBN*2W$9O%CADFV5(V^61>% M4)X+Y*4$.S&#<1HBH=U2%^(8.Y#Y*:*N'Q+/0R8KT-F>YK;4-$ !__;$5Z6I MYCI/J)Z*LD+3R+IHPU +Y!5H8-I3-[U,6-(KY_N95('TBGNH*?I?,%,)95$M M/HMAYHW;@7O"@"&I#U./)A"%201Q&"B>F8%L:$_O,[)W36;Q2FLB MBW_M)O%A:Y-,V3,B;";HN5\/6Z$_\Y*+EQZN5^PM?^;+_$D.R+MZ<5JPV$D) M(@&,/28G:1B+53I-H)\F&*5QBI) :Y)J]3:WJ;L!J\[AGXJZFV-OO'/]';,M9""!JJ]55R+$4LK>7=?DZ[F6F(?KNAZ+PU3(Q]6M!#Z MG+_E]9\?5C=/O,#R\/T-?LHJO+PF955@6HF%WXU<&L60D2B$R(\\2*B70"02=N/4U/=MBF)V+[ MG$WSC8$Q*3+4Y2>A=-B;_%%:3.JT^KHHY.BJXZ"?7G;/W.(7^;/KK[A@ZC]W MHE=A=]V*;^>3^)KJ[>Z")4G"71Y PJDPA2(_@;&#&/1)$"/FN3B*4Z-8EQ% MSDU7*:1 0C7TH8PZDGI6U&N/S]B.6X.A,8^P&9$[6T$Y8T"<-HYG1)*/0G_& M[,O<[E.-_BPZK][BBK_'6?$;7JZYKL%WYO6Y:4\)#"AD8J,ICW@59" QZUMW MYZCJ-^LLL#2)#MNQ G:,V3'=>B@89+.=:W,R8ZU'J+:5UO?H4#?V,U^M^6!4^9Z*(E@ M'$8)1)BZD$1>*HTSQV6NFX2.4624+6!S4R1;@B-[IM7(EV!W0BVHT5O6B.X$0S<;4?PR]X( MWG:/X !OOEVZK3G^+<&:^(S +IG'QPF6VQ]I8W[.BGSW7^NL>OFP*JM"W9TJ M;ZH'7MP]X-7-DVRB_)2K6$_./JW5H7N*.<:16!""0"8IB8A8)%P40"="B4-= MAN(H6#P=I+"X?$]H"[^)#CJ48DS_68WQ"A!^GZV4/B)XJ721\*KE E@* M=@56^0KF2@C E90@VXFI?ET+]D?X7BPY#5_C*QC92*T_ "41:$L-6F(#\@+: MSS6B@^OZ0ZFE!RWQ@9(?5(( T#!P!;8N*GU@$,O7Z-*X5'F.OR>J:\U2V4?HUB&S<2!@GG&#DP82Z#"!$/QJF+(::, MT021V&/,[)ZV1J^S6Z@VH-7>N 7[_]WH'XW0D@L&07,%L4WMV-K?!JL#KG ; ML&3M&K=.GQ-?Y3:@X?@ZM\G+ ]43?>!LW7UUZ3.7TF;+^D[YG7SFCG^K?A*" M_FM!74*PCV,8^F*[A@B+(&8^AA%UDH"Q) R#T$AS70AH=DJMD4?.ONOC&[ [ MH0PUVJ7CIJGL)AR-L?7@V8'XLC\08%\@\+L2"4B9@!+*IIJTQ*\M#7HIG&F5 MJR7RCO2NK78'Y*YK+HI]X<^\D)Z:S85$!\4N]U("@R0A$*5!"F,<8>A$C(4! M1S1RM6YX=G4R-]6YN;I8;G :9"4[QV.WVK/%SMC'Z@TQ6XC]-SKU&3+(R&:! MJ8ERK0U@S"Q[6@\5G7G1SKT[7<:S'O1[N%*3XM9* !AM&NH4%')W-D_=K"#S8"@(T$5Z MP^82WA608@ A MQ^@#8*"@1Q^(B=3W. -BIN$OXK)3_P]K>;K5X2+)]]:.RUHR#T/]9?64R01A M=]DC9\*&EYW^AI?OE_A>-Q2UHXFYJ?]?/MU^:">H4Y!5[N6]4Y_N\$LC#KO7 M HOTC:SP39@#OTOPEC+^:= S*(:UJ]W)XE@UA&O'LNH\/CAQ4KY>5>4M?I$; M]BHTB#$YW,SHU/,F7D[0^!OKFIL&X3B9DCHXL)2F(:N^)]6I0>][N:F!\ZF%1EZR-K#MIZ*L,?A MR*KB$OHL)689Z1BUI[,9I&;I.SC5?,M\/R'S^#=GLO*^S?6WK-3=1YQX=88: M81LK\):+'A^S56WX2L2:25/.T=2_5;B0H?'G>P)CC@V#?+NHUEOV+1$X MME_X@+L]G/96>PTR+"WU73U-NLYKB'RXR.N\,DQS;/,@?91YD5HY6YLPTO+M MFF_-6DSCD##BPB#!#D2>2R!. P)I$"&'D !QZIFH$I/.YZ9;I,.VW%PU>=7K21K"O_5-IOSRQ6H3*K$AI!QJM4%MF&]D/JS*3#QY5V Y M5V_S92;UILQG_]&@FH]&*S.:3 U:T, %&[QJ*5>I_-E:UMBS7]?'@*=!!KY. M^Y,9_ ;"MC< )J\-V+BOE]QU2.!>%Z*+QU7%3,X 3[\]M]57H@02)G3W;G;= M-7M5KID=HH,OC4W\Q52-O8_O9;G&Y'WRG2WJ:^^\EAUOG; MK,3W]P6O4R+'&XK\.Y MZ8%]O#+\-4S?8FZ$']WKI2[S6MLF>QP3JX6$,\BB(/I=!Q"8*()2'$&%,8IYSA-'02 M)W5-U,\0$'-32>V[-T=EK]6MW!)L)#%33(.&2$]9C4W\R IL"_^8\::8^$:$ M46\X7<*B)5TW",*D^N\2D@YUXD5M778DFO/R4UY]EJE$"BYO2#WSXF4W[0:< ME':W.#$"O5E M4W$-(^OB@]F>;E[EO%9/]'/'N)IO#[@O=%O("B_5R]8++@^ <+G&2Y788ZWN M);WE3WF95>7?^9+](ZL>[AZR@MUB\=IU^29?+@7, B_EQ4Y>/&>4EPL7>8GK MTP!&@3#:Q#\"F%#"(45I&(4QXTFJ=90S(L:Y:;R- .!!2 "^"A$ !I64 CQ) M,83V6RJ?2I7+U%*UU*!LI %T*Z/!K9F11K];A=#=" M@JV45V []%)0("4%2E2@9 77)=A)"X2X8"/OZP^UP0VJUQ_RB:Y8O>[0FUW% M&G=0.N]JC=3U=)>YQN5N[[;7R%T-KJV7/_([_&UWW6=G1O,41U[D,QA[ 8>( MDQ1B[D008\_GJ>^X*##*5][5V=R6\AHK$&!-<]%T4JKG:[%%U.A'R!N.VK?% M[.X_3"BQ5^3N?%=3E[7K%?I$(;O^=R9.A[VMQ'!=ENO'.J_@)GOWV^PY8WS% M/@O5MD@#3"D-?!C0D$'D^BZ,0^1"U\,QC7V2>,2H)O#HB.>FMK9I]5D#$KQD M8BF9*$NM]CCKJ<%9C=[(NM1"5MI6_9V6W*U2"QO1P>>NDCS3Y:(U':;7SD&K MC?>/D7O6E'YK.6>-.QZV7+7"!9L+E-LPV0#[:4(9@33"""(4.!#'.) U%YP@ M8)CX+#!99\YW-;<%HH'7KO]LMCATL*JGU>UP-;(Z;H')72XGPU+6J^C MHTG55;_ AWI&XXW9EG?Y!\_N'\2?US(]V#T_KDWV66SJQ79>MKJ@+/!10!+( MD$Q[C7T?)@[BD/B!AQ@+:."9)8^=EWQS4X4;[* !7U?F^_.?W-#YV[8\7_U/ M)4K]UR?>_$Q1-[OR#T8?W,AF^.M_1O,WVLU+29S^; \+2HZ3QGR>7\)K[PM& MDNZ/L8L8=VA?H<[%()C##)#V1HBKBYLM6^<7CJ7SCMVL/LL\RT6VNA\.IMS"_RB"-O*1:&A_CIKCDT!2ER7YF*_N/V;/8NE0F.09KE@G?BWY(O73,(Y2!\:.ZT%$ M2 ICH9,A9BY+61PP[/I&)ZDZOY 7X&E V7$C7 $O:5"IE2]2?6I>&N M2F\(-$]>;1,[]A%LBU.)%RK X+KF].\;3G_MX-3\*-:$(UMGLEI]3GLX:T+# MT2FMT058C5C5]60RRJ:HGU*_ M-LS^X M^9656Y[?Y15>R@WU]6.E>R_EX+6YS?;;=S= X3MPS#W*O*KZETX.R>F>Q1?R M,O+,'4:)T4V1,\(/N@YRV-9D=S[."-&^V''ND6$+]5VA]BLOZF*:VM0L$'(2 MRKT AG&:0L1# @GR&(R03[#<+P3$7:SD35^N6?G]N!.M3S.I/\UV5^-]H1N, MH)0@S=;=$R3J+;D#B9EFSFX94>BN>JH5&*^SYV6WM,2>ZU?6\@(<+:\>3 MEZ79_\PISYZEJT%8H)L,\9&+78>G&#H!BR%R"((QBC@,(HK=E"0\C(V.>KLZ MF]O2O$TK7VS!7H$5UUR5M>C5F_FV2!M9!VSY^MSB"Z>RZ,_UUX;KJF[1]K7;[\?/-K M[7JU,Z'!7HVMD(UA+V86K.,9R.>E19]SOV=/M*KD<],LY[ M'S7?-_56MA7!I_Y MBG_%2YD9^A5\]ZL$C:R)J@1GHB<7<#5Z4;M1A3KT>,K<#ZGMZFC:[7$_TH MQ%[SM8GC[)O0O)MU5598Y='_M)9)]!=Q2K%#7 ]BY"<0)4$*$S]V(.&<.QSC M)/:BA9 FR]F7"A>5GA:RCM-D"AZB'6\V-FA!OH,KEF5^GZWDR1(@>*D\"O(P M5!V EH8GH/:'._0BBIA+81(17PPWC2$)D@@2/W43RG'L$MH,][N5IC]\!H.] MP3KQ4#<5*68XSGKKWJN.W,@KI84;!=L[ S?M0:\EG<%5@+Y!>.U@_K/X_ACA M^'WT6@NH[^UHX*G),\Z6<@&+TKJ^Q1Z?;=G:E)AD-O(1Z?Y#DLM5LY0",( MV$ABL1;*14S:JI R#,2T=5,N(NJHFLIEK0U;Q3:UVMN%VE=J:[86[7_)T^JK M"OH^D:S30SS$<0P=ASD0D="'<4022%$84A(E3A@8190-1C*WM>P-?LJ$-E86 M[@8V:$FES-YR0 3:\+'2TZ"3C,#(2G0CPU6;\:NF7'0M2&M0QDXB>C&CEI3I M\$"(WH) X3@I#)V8DP8X38ZUPEL$(YJ9%-\!DS2H5G0_R&K'A MF8'Q2&B>"8S)[]@^?T5G#1[4Z$$-_VJ3":%^9'.:LQ7"HCM_*'^VW/7&_4_K MCA]*SY&[?7!#9IJ/\6P3%_3EY9'DRX7/J4_]!$.*HTALHAT&"0]=&+BN(TQ' M3 -'JYS+4!TF_0M7\3#$)[X?8 X=%E,H=B(. M3'S"8,I)DB(>?=IS'4U=A;9'X!.U9OO>&"F MNR)TE%)+,L/JWJW<9#A6S\/D=)GK?^-T7$A'&<]D=OJ@A/ MB\CG%?MI?TB,HT)'@/ Z=TLZ@1[G?EYX$8U#*A;%("(RDZ='Q/*8^C!- Q2C MQ'65NUXNE+]^>3O>(FGYH["T4+[>4,]@ ML;2X5IXLB#"?JP\#QW$F%R-,T<]KZ1QG:&Q?JA@*8Z #BE=UT5"9.&A!4N)X M/(RA3RF!",RA. MO"#D"41AC"#B,ADQ]6+(.(H=Y+IQ2HUJ3 __W"9,07P)89JNRZ$TC.VM% PT M9:._E]#.&W;F#LI3(MOR2>ZU/:T;\I181Y['DP_9*INY"'#*2,!<& 8LA(B) M-2%Q2 @#C!P<4T*9C!W07Q..NYC;PE#GR:7VBV4.+I(YHTE\JCCFF!4Q+4_F M$QV\<@7,<].ZX\D+"T[M8BQW%RP]XJ3,13+(,1&&#(H#B-.006'&A#Z+(A01 MHUNR79W-;65N%R+I@.''#2S1U,&*[ZM*IKEZGD%*' MT&=K(W6]8Q[:].9!;E_9+>?%ST6^?GJ_VMUHT QKZFAB;AJA@0HD5J# 7H'W M>5ZM\DISP]/'6;<>L$C7R"J@BRG+%SDT21D4H=35[F3121K"M2.3=!X?,-'S M+WS):<594TCMDQA][2E^ZN793>[\\0FO7L &*FBP @G68':?)$IC7E_*T=@S M>A ]9K.XBX)A\_=DB]/-W"Z!]N9LYX/C9LVYEEGC;U;\[D%HB_N']]DS_R?' M1;F7E6%!@HAQX@:0DSB&B"8,X@2)W3_S0H*I40B0571S4R5OA>5;)^// M5QR\"+R@JO'+/WG](T.W@=WAU-MOO-H@C:S+M*[Q[^? ,HX=MEEESC&@=FB['K)/AJ9TYWT_U6NXV)8&?8N(F! 8D M]B'RTAC&.&(PCCAVJ$^#P#4J)-[=W=R4>0W//)ES!Z&:_EYK-(WM^U5 CU(Y MER/=V-?CQ6(FYX[.)D_DW"_XJ3S.&F\-TQQO\N(I%PWSG_(5VZFPYDI%E,:^ M'WDA3(4*@4AH#A@[L0-YX*$0D1A[*#([!N_L;W['XENX@ B\ADJDFUO?Q0Q[ M)().P(52#H0MGB _@''@1J'+?3]!1IYY:\Q.LUS$SRAVIV_'<-'0+=[U+;B'_\Y]BSXW^ M!FH)!D=/= ^$IHT] KUC6]L'S-9 1SE=-67'?C!&=[>O%:*A149'X(;>^P/# M.;)55O&/V;/*/R@^G(PLN2KF5G[,5OQ#Q1_+A73F>GY$91@O@\@1"@J'02+L M=,IX@CSB>T81ECJ=SDU#U9BA @UVJ.O2A6(ME\"!0FX:Z*$S GKJR3:O(ZLF M&Y2:AX 8<&0K%$2GRVE#0@Q(. H-,7EWJ)M@=^7A&/-PR:[PW.VUL5F3S4?8/+!YG44OPA MU_IGO)3794__=)/F)4S%_WP**>4>1#+A2T*P"SDG 8L=C%EL=-YZ"9BYK=P2 M9)TN5OZE!1?\_C9_Q-G*<,&^:*#T--=4](^MU88S/R0Q[\64VR]L<6-M^6V"B_+"2YZ*BGU]P\2]>R9/3>M_4RL."@U\IZ/!71NJG(R>G\79(<_[5B.HH@BCW.Q8+BI6#K\ M$"8>(I!$24*\*&&)7M+D_J[FIOQ/^?"Y0FQ8\^EBM_T?PE%? [L"UY4PG\BZ M5JY5#FZQND ZAAM@,A?]7)SRYF[XT1SOAP%]![6"*%T_KI6/X>]E0W?# MPZT'@3.+5SB .-X\4Y#!#C.0H$TC]NR,GI[VFFXPYA1.O1,+G!PQ66]>R@:$ M<..%2%_$]4BAT<,PO6I(]$4T]H5"7]:XU7) *B53>;H*341=YB8!EZFW0Z&J M0P\2+X@APS1FL8LXH)AOH$XZ9@8F/6CS8"15T&; M"0TW\K5R&HY>UTF#Y7$+.W4!F$-E)PV"-$L[Z;0T<>I;]9_?>%EM0;J+ (4I MP2F'CH]D*#1)84+3!))0;$-XS%W/,8H2L@EN;DM?@TZFI^V:K.,/FJ:F?:6A MF+\.5G^ S7!:U[TC\/[:26!/0?MC9'CM(-5:^M:N/LS3<(AU@JZK[)F_$2;C M?5Z\7'_+2MTT'"=?GILBW8($&Y2:SN7S]'2K1"O,C.U*/B(%_"XA6DJ?TRG^ MH,0;IUN<+/%&IT#MQ!O=#PX.=GS,5V^6N"Q_:H*$.":AV)(&D"./0^2XOMB- M.@PZCL-3XC(/&V#GI[<5^'G8P=;3G&0%/Q'>>>W+@[HH^<+9>\IOT(/_ZI[5L_2:M-W9W MTI>YBSTA*$UB#Z?0BY@KME&,0XQC'V+734(6^ZGX9HRV44-0S$T_;(20KL*C M8@VU(/)7M2B&VZE!HZ2Y;QJ;^[$W2":T@]^5'&"4J)Z+F+2UY1F$8=J]S24T M'6UB+FIL8H]4?3C_8556Q5K%!]U4#[RX>\"KQF?V*5>Q0YQ]SI?+]WDA7UKP M4%9!]2+H<)=+94M@[% .>40)81[Q41A.XK,:!']N6KK^+O[\)S=T_C94&T\[ M_B.[OT8?U?D[R)KPT!8'0)$ *L'"[@AC2\35B75%D@,:=FRN*:\RK*_M?QL& M_H_AH;MH8*SY\"Y#\4KU?;=GB%IU7>,4(<0\#R9)@B#"J2O/>CB,O"A",2)Q ME&JE^WT=^'-;-T\?MK]ZG5^S3\+24OIJ SV#I52[VN^) _\_4L'?06,XEYJ_ M9N#GM6Z.,C#6*_\.0W%A.9L/JZ=U57[DSWSI;MSP,:)B=XAE63XB-H?8A<1U M',B0&X:4BO4N9(.JV1SW-;<526&K-W+NP+HU)PC56R(LT32R/M]=8+P"-= K MH* "=P0WO08GMNO6G.CI=L(!F@4A6+'R%.(7?$?)XU2'Y&( M>\3(T[K7^MPF60/.;.7VY3T&R=.\-(_Y)W.1ECVZDU0+!! M**U5ECUG;(V7%I?$;AX&K8YGFIQLH>P6J;UF]CPY;/G\.<_9UVRY7'B^$RXS%;-+4UZ"^80X4>>H;UR M&Z^1AT):6AZWS4ZZ,AX*<[@H'OU^Z(U.L;A*3U1]>B-=5V)*B]56Q00CU^?$ M2SA$,9(W!9T 8LYBR)CK<,9#Y#I&KJ#.WN8V,9LCW!W(OFCB 01KGA[8HFWD M*6W,V(!;>1I,6+N U]77Q'?M-,0^OE:G\](PM7%7X%69BDDHDW3SXCFCV>K^ M)GV?K?"*9GC9.@6^$SV4IW]59T-:VC&WFT,&Q5C]3<&?9:TI55HDRK7 M,4@]U,6C]&'N ;EF+)-GC7B)'._Y5 I(36=(;T-STYL[P$ @_OZYG9%1WU_2 MSU^_Z\0J=2/KM2[61BA0KTW-(,=*?^N3^5BT!6V[6_1?NJ2^J:I\^):7M,A4 M6((*>)$YL5-3_8U-\VQJ=NIP%Z! M%MSFYH>AU=5%LYX198F\D77'!;P-+';:R8C52J>G>WJ%,J>=(I^N<=K]RL37 M5YK0IY_%@]4V[DDE,%ND+B6)AV+(8C^ B,8>)#YU8>PC'[,D"KW4G^2.RGF, MPGUHMQ5(XRGIJOK=4=I9)UH,_M5+6D[$E9).X-[(OU#\=J703H0 MSBMR=3C%UJYU:'0U8",J6_YUQ8KERWTKB>5CI;T!/=? W'2RP,@%2)DF:8?3 M8,=YEBB-G:8-CL;>8:I$4B=) M>/^7I56=I:]G$Q;$MYMM7IMI)]@NUM(7L? M-IO*C&>+=ZM*5A]XQ,OE3^LR6PDCQCX*-*)$>RKW"-XQB<6;]206 M?]E-XG/M33)]>X393-R^QZQ7P!5ZMZBR_U8&PKMOTE;@_^2X>"\^#J%%@H3Y M"$-9P@,BPC%,Y#7(E'(W]!/'"5QBJ29N!XRY*0#Q/476RM]VT:^WB1J?U/'/ MT\Z7R)7W )\X55?^6M)< 2D(D)),4C97@\GQ"^EV@9A+:5T-H@R*[>JT9F[$ M?!1?PO+V(5\U25X6,4F=$.$$ACP,(>*=[CJX%<]CXW+27 MP@<4P"8+A;[M.6IL,F/EG!AM2^7L,T-K M6]*B=EC7?WY875,JMX7E9TYY]JR.3=Q K+])D$"/"WL$.2B <<(P3".94!)Q M$@5\0#D@G;ZU/M[IJ_UL@()BB]2TQJ0&[WK6B#4:IZK]6,,$WV\ _R"=K%M& M/_&2&& DL928(@)<8,< M>5H=3.;3,Q&W[=XS>F_8>JQR.LFF"_X@QEY8Z&+JY8]\5V_J[_E2UAS]&6"''"$X@]A!R?.C%+ M$A/'PEA YV:\OWF0!SCJ''"]*Q5W+X0JP?=+5>/O!R#F9[:K25T:GD.,/O9Z M=L0<1G1DC7OSYL,5T"H4V"H+V$@-I-C@>RGX#]LJ@=?L/]?UJ%\!G(KOT6[= MP+&'Q)*M,QK,2>VCL'6@P?O$"RS+$JFXR8\9)MDRJUX^ M"='6A2Q1OD A<8FT5P-,$HABCT(2.QCB@#G$3Z,$Q^Y"F.4DU[9=^_HTF27M MGD>T7#:0P5(Y3Y8-:',CLY=OYD:$QG$":1@)#<\3H=PI#J$34X1H&GLL98L5 MKZ;D>NOAJ_[G\*QIE=O\5L$410XKLL0PL@H[TQG;W-3HCNP0*$%"JZ9W:WZ7_Y;E2W46>9/^ M/7_D;^3Q;_'R$7\UN%9BVN[<=,=AVD/ UAQ4.=C*(,]RI12@$0,(.:[Z;EI< M3G__V?B8S(^L@,8A_9(\E-KLV=#W[AM=KN49RS6EQ5I%PW+QZ58M-PUF#HJ0RV 0^\)6\MP8XC .('(( M#7PG"6-N=$_Z4D!S4XD?3AU\__E/L>=Z?UOU.WW&&30]"VS*H1A91VH=:F\E M HU(8"/3./XY6_Q:,O8NAC.I/6B+O$.3T5J[@P..A8;?YDZ4X]P.&S/4T=+]PG\HDPX=Y7+DF>=>;@8N-%.W!"\RB) M"!;Z@R&3K$A8Z2GC49F?F0MM(-?LJJ.H90!ABNA6KYDJ?55USP,_<[[[[F M"^:$R(V="*9.P"%*W1 F89) $OI.@%#*D1_KZ,OA$.:F+L4W&^CIP MH[U:! MTY YL@9LX0<; B#TL?[0!T5Z$ M+N>R7H-D.VIA<82*4HO+!2U/LK9<+OEF:;'0TC!3?.L9D+;^'?[&RS>-URT, M,0U\[,+$E5ELB3"X$QXP&/H>H@AQ&A&CDD)G>YK;.M'L0RO\#3SA%_/;P.-((H)BP*'ABC4*L_9V9_EKB M;::^WL/F02+J MLM+]+F:HA!',B)5^!%!PF#8BM.M3=9^$2',.T(B:['S&?I7<&NBZ)UXG=_KP[] M#&9K1Q-SF[4"6J'2 .T.P/7G:1=5_?/5$DLCS]N[ M<1 +O,U%=[28&/";0Z MH358&C2QN]J=;()K"->>Z#J/#STNPR5_DY?5P7$+XK'8AR=YWF6/=(ZV+F1C^V M4H=4$N/()U&=3%@[;3K=R\0G2IVB'I\:=3\^3#=\XM4;7#Z('<%SQN1]E%]+ MZ0^HX_A4Y$^5/=?ZB)3JHLK"2QR7)RB"A*$8HI0E,"%.##%Q4^9[G.'0Z$Z> M.82Y:10)'\@!;A+_R"45;U&;*9(! Z*G8\:E>63U(\ #Q?(&OKQ0][V40%#^ M ]@* 792@-\WY'!J&CB_S3<0AABCP8IF17=A- 4NEW0]_6:9RI$5VAZ++;P;ZW.S=1'] B (:6?1].OHT]WMX1F%X9*TS@-P1*@\;,S?(!Z3? MRV0>(6/!V_XA\Y<'1G3(A,.R+KJZ("",&M=+:0 Q3T.(D!-!C'$*.8_BB":< MA&8^HKW6YZ9[ZOIH$MV@BQ;[S.E9+8/Y&%E3Z%-A'I1Q2F1;@1A[;4\;?'%* MK*. BY,/35P'^-U_K;/J1>B3JE#AA:4Z8[I[P*N3Y2<7(4U"CKP4$D)]B/PX M@,2C,10DA;[O1REG1EL/F\+^8Q0E'C@8UBH5#^W?O%S8VR8*_O];XZ*2 ME6L_\Z>\J!8$HS#E/(!A%#&((IF+@2,'DH"$Q F86)FT+@AW]#&W%60#$VQQ M@AJH?@VQW2CI8R$1DD MR@ZB;7N)-V[N-"_ NF&D,8JOP"JOP NO9#VUA@$S._GU/BD]P_D/\:%,:$EO M+>1V&-I6_JWAO$U84TO31*-\:CZ6'0OV@DYG,V"6;.C7DV-2H_K5A^O0RGY] M0!>6?VG5>RBW/_Q[Q@MY)/;27$5AG!(4N YD,5')T3P8(X9@$D4NBR,>IL0H M,,BH][FM@1(G4$#!%JDZ9OET_9OA!:!AHZ&W%(W&\XB93%, MU*&7F[@0$)$[J)F97E[5ZG9L":T"K287W8)MI+3W*];25=2)'UE)M M#O<1CQCG8T22)1VEU^>DNLF(AD.=9/;R!>=WI-_U2@Y=KXUM=[.NRDI\66)' M] ^>W3](R_%9H+[GV_UWJ[C '2\>O44:LBA- @(3RCA$D=1LL2_^ECAA&#NI MGR+/^"AO6AGFIBRF&!(>,X>B( X=HS74 J:YK8ER5AKZ-BP,C*;'8UJZQ_:#*&F@$@?L MY %*H"NURU#%>MJB78&M5/+6:RV7LDDL.DSLL6S+C6(!T;3.%7L4'KE<+#8] M) F%BCX7ZX0*E-7..]%^:VX:[T0FA;^:Y)K88Z1;D5U&QLCZZ 0/U@*(SPL^ M,$G$7E,3YH4X)<)^*HB33XR0+/U787R55!Z6GLB@@0<1W(76% M?8.\B,'8YPX,789H'!*$J+M8J=P@3,_,&81#Z\O>UH/>H1GO Y=B_!5D*KVF MO'Q<5\2PF!O][)#HF3?CT3R?_.AM,4 MA_4C_XMXG"(I^ED,\TF+WD>346+T MWL:&J<=?2WZ3OBNK[%$HCW+A4IK$:4A@Z(4)1-@-(':("QT>A[X7!U%,C#9W M^\W/S6H1Z.0.8(O/3(T=4*>GGX83,K+B.>3BJKX=^0)^;_X<)=_-:3HLZ8^# MQB=5#*<%.YSQ9YXRWU/<\OQ:>8F6+[)NAO1'&>2T._WVW&;K[;L;L(&IJH,< M.)P-$U&>H:Q_\W$Y6R-/Y+>J MQ$K_/EOR3VL5%A![,F[,H3#R K$Q9?2L?(\]> ":,+'.=$'G1SXZBQR:YLG!.C?5?C[#/# MK.0S-OFF,$$0)SX+'!=2+P@A2F@$8X(YC%/L^;ZPHBGR%\^\(+FNW=S=HBQ8LGR[NEL4DM< M3_!#RUSSK0'UR.[X"J^J#X]/1?ZL',37RV7^568-;]5L3B(W2+PD@ Z)"424 M^9"DD0_#E$8^%5HE#;5R#FCW.#=KH,8,\ ;I%7B1%9?RE6;XI3[5W4IE% +' M/H2HN6OA!=<['C6*6P]DTJ!VF&U&)RH5=C&S9E7!3%CJ+ *FU=!T-;],Y-HK M\67TX@#=O,F-?9-V%!-[OZ[6)TN*'>2^9CX.6>([,"7R# F[#)(D\B!S?.KB M*/+$?DY;A]M$-C==OY>1O*L8'Z@%/%F2ST"961UEC>7CM<9NY&5F.VPW/<-V MU35N)NG4QYZP^NO7:PWI1.N<]HRT-K1F"^,8]'G) MAU3XZ*%7SS5CC[21U[8]OH02/ PM/>_7,L\'J<6)K021W9U-FS%22_"C%))Z M;PT]?/GRP)O2PBA&@:.0SR*!$6/.(N3#!-('9]U\=1[".J9<&?;GYN M.J(Y=E 008/1] AFCS[=0YBAI$QS#*/'QX"#F%-B7W 4L]?31*'!?Z 25B_4\IC)W(@0%E08HCY#/'*-N5 M,8*Y37?Q"846XS9/DJYG%8Q*YL\H!X2H0XTI=,P%*B(EB-;OXFR). M\V3_\XG1[*+'*#ZSLR'KM_4^\6HAE):'W8A!-PH]B(CGPI@&#"(1NONSDA];3L=;^()2/6E\C>X*%[DQ%/Y4JQ=NY,,ZZDO>[R-K*LZ M+\N55T"@G>0&7(N5\2^WR<[F %'MAXJ:.YW&C#$"F .9F*WWF M5)WU;64 ^T*8E>(9/"QZ^FA,LD?64 +Z>9*GB4@?RIZU H>&W4]V8QX9_YF7%:Y4VV^YT!6/V4KYCMZ*'^K&QW>U,3]5M<4*]L "B58_/+Z3 MMVY%9).RD17.0+:,8N1UJ!@4*=_9\&3Q\CKBM:/FM9X?9N=\6-%";LK>\OK/ M#RNA98JU-*EH_LCO\#=>BGV:/'5:D,0AL9,@&'/N0!0%*4R\*(*(!L2)Q&Z* M8Z/S((.^YZ8R%#;P5(,S,V%,&->S7D;B<60]LD$-OM_@_D$F.JLQ@YK@VQZ" MC4V5 519LE),>I[40!E R:%M,J0)6^I*A='O'$R[,/I%S!!)W""&;B+=UPYR M89)P'[K(=VD4N#3F1NYK@[[GIJ[JNP:#[QB8L#Y495GA\G545LUNRYVMP;,% MS=7+V&B:ZWS/KZRY>BGIUUS]30S84*V7W'5(X,K\++7;X_T2WVOOI4Z_/C\E\C&LNGZ-+8PMU.5-C[YZZ20*_2[R6,A_UL#%L W6FS>GV3MU" M[6V;>AX=9H*\P>6#_']9SNX9+Z4#1N[/BDQFS9._N%ZQ_1^TGEQX0))%<#[4N&BTC--+L)D,CL.D8TW47[B]]E* MY:[-4_#47=!RA''B2>(PWW6A1\1_$'422%*60$Q)2K'+@C3FS3B]6VGFLYIX ME#:XQ@SW8:\S.DG$PABG$0Q]>=J?\"OL.JZ@H46TG4[Z<<.+W=P63#,?)B_T:-@?PO: &4R52W U _ M(D?EX(?M-^SM(JPP:VE?<1F627<:5F@[W'O8:=1^5FM*UX_KI4R,V X<7GAA M'+JN$\!4K(80>0Z"&#L$\M"EG&)"W 1O\CO>V'H(,DDUW=/2!)'1 M7_-%XKE^PA-A;GHI@BC@#&*9;"KQ4Y?[** IUSHG']C_W/P^XE,-1HR*%H3K M:;@1:1Q9O0V+B/Z:OU(\](Z[UXB&%KW/-Q9Z1\U%D="M9@:>DST^X:R0;6YK M($L >:'TZ*\J-?\>E 5S/3=-709=YJ40(1S)U L^=&*?!\@+ YQH7=P:C&!N M:FTG@/1Q++FJPY2G:48Y>"IR@;VJZX?*[?73HW9RF.%#I'FT-B;Q8Q^P;;&W MBW?7\&MC#ZQ5$9(#36GQF&TH>[8.VXS[G_;(;2@]1P=O@QLR/W[[4OWKMJ W MQ5U9-(F#A5HLX9!'Q,1:$)AY$<># )'0YY&(#Z(;,\WW?R&(ZZF%N>F0#L#:& M ,U-JY@<(02FL:/RAW)(7)9 GT><,.=9*''Z^B[G-YYT1/71"GZ!1 M;T9?1L[(4_K(#6-W3I^7?914PM//ZO,"=J<,MC"O=\FU/N6K9UY6O'6$IFRX M7U>9]"-7V7-6O1QDL_-\Y''JRI <+E2 BQG$R',@CPEUD)?P*&9&M3C<38VY#6(&PEZ1N.49(*6F765B7O MB[!,6Y/;!FU'U;6M-#I0\\JRW3_U5_;^Z;"RMPQJJ%X^K 1.E:>S5!'8=P]X MU=3\_DT)\F%UJ\+,%BZ->)*F&"(/^4))ASZ,(Q1 +_)I0E(WH4D\( YA*OPS MC5ZH08+OLQ4HI9CE#X9*?*KAU]3W.&_DXD0'+8C^!8C^"L4L]2#AQ ML4M\[")JLK/0Z71N&XBW/.4"F(P_?N8KT[Q36C3K+0ZVR1M9L6_@@J\"+]@ M'K?TD0E%ML*!=;J<-NK7@(2CX%Z3=P=:W&(:%;*0A_2;E.["\=,D09$/L4=\ MF=+.@YBFXC]!F"0)18@Z1N<1!^W/39ULX2F_I>&-YD/N-*W*X8R,;?QMR7C3 M28:Y179:9%N&TT'KT]HWIT4[,D/./':I@_*T[:)VZ1LS!2_7MQT=X,1;$ "B5*_V,))$KL5J0UJ1K?[C%@Q*KG0)?J@H@LG&YRL[$*7 M..W""YW/#:RSI"XOO<=9H1)NO\U*NLS+=<%E.@@O=4D"68@\@*-R//Y\V%1HFRSLX.=C@M%E#J MH\)6[:2S_4Q;-JE/W*.*2;TO#*B4VN3$$R:$P+Z\7C'EEMZX+HD?A&'B,H@" M3"$B/H$)CS!T.$$\9FG@(E^[]&EG5W-;V1NP,INF1*ONU.02KT%1RVYNN_6# M7<;&5A -60U0()#69W3]3F!3U@QJ>UIC;Z)BG1>P:%9U4XN8SC*:W2U,5Q=3 M2Y*]0I=Z;PRTJ'87P>M6\\>G@C_P59D]\SKKZ,>\E'4@;M([_&WAR;U1D@20 ML"2!B"4,)IB[D(0QYK'82H5!8E3*TJS_&:K<;;X$I6H!;0L Q&)GZ.$R'1!- MDVT\FL?7TUN&ZQB*/>R;-,??2_@_J#HRTILE9+!HY TCSY;I9]C[M ;A,&J. MS,2!S5P084?ZXR'(H:-*_4?&/&2K^\_9_4-5WO)"5F?!]V('*A1CA(2A&5(B M[,XX$G9GFH:0!&GJ(NQ$06R4S&(4E+/3GQ(K>*[!@D*AO9)Y\!J\ V+GK ^L MYB'!:P_7V ZRRZ/BZL%N1 6?F\&^[1_L8>%O8PV&S5@WZQBG#VP;B^:346RC M=39L)7GW^+3,7SAOG6#\PA\)+Q8)1RBD00"=P,40.8$#8\82&%,O8Y M)JO!V9[FIM'W#@O-U/=Y-O54L!6.1E:C&XQ[AZK@]QJGQ2/37BXL:;'S_4RJ MB7K%/=0F_2\,#6)]?,Q7;Y:X+*^;C]?W9/D,-X4^QB%$&&%(9*U43KE# A2[ MOF=T'_:XB[GI (4-7,N]L$ *2LFQ:9#J$8UZ.N R_#4XL*''_JP_+[VU MV-*C#B:.)#TGX''?&<47XZJ'Y[74P9':4ZG&O_7H:^?:A,0^6AV^Y>^#?Y=WX%OG)I&HI?8QFE>,]!L1-G4&+VB;\7 M0Q-I=E_!A-O7[;9TMW>X:ET";G:K4DKQTPJ\\ KL!+UJ[FJ!-"] 2]@13+=) MQ\BV/3@-^-K]B[6LV6"^SP, @2 F/L!&)9^6%&?QV]3HC0KC^$>^8A07;-X.$VC&\4; M;M[U,3+ 'CXMMC5K^*#YB6WAT\(=6\)GGC.;TF51+7[!W[+']6.S(TL)B;#G M8DG 4O%_B+F>V9IZMJ^Y+:_[L0#FT19=M&H[G&R0-;[G22=F MX@I<5U61D76E+O-4N=@KV;X/W4N7/5?5V9ZF]EGUB7S">=7[BOGUE[=-3."= M>'7A(.XZC(4P#J(4(B[6;8PB68\H#G@8\]1Q4MUK+^V&Y[9V;[ !"4[_ELL> M5]V:X!(&1I[V>L(;768Y)>F@2RQ[#4UV>>44_/:EE9._GSB1E]B\UR=2Q_E7 MUE59B:V2V#]^6BO;DB1A2F1XNY^&\IR9R6H33@I3BF44?$*QXQE''8T,>FXJ MHO8-UL[AI\8WB&LGX"I?P;P^H^5U3J=L)]@5R'>BO4+&+Y/O1,^8F=OH3^@4 M'AC3) 2'S2'^<=*O*]"27CRKY)]!DJ\!H_7:";Y,(/\QDGL-& 1KB;V&]&U> M+N0.D_42%Q^SLCK(NZ!9(^1L W-;01J@0"*] @JK?AV0\S1U*VUK#(VL9=OD MC)(F0HN(044]SK-CMN+N G// M<9%/H<,#"A&C <0X=&#DITD8AJD3Z]VT[.QE;E.]!@H:B%>;OP )%MRL#+:8 MYXGMWV]:H6OD>3^8*:/]:"\3@S:GYUN=;*?:*UA[V]K_\/#SVYOTYSQG\@2I M.7+>%AI[RY\*3C-E=8B_+[DR/U;[594#[B<^(PA&//4A"E "XR@,8)A$+L.$ M!0@9!3)=#FEN*D5%FN3I)ITG^)Y+:92G5OR4M212QZ2X)8KA5M/"<.J?-T\W M2!.<4,N14.*H(6@$:M=6;,MT!;927:GGQRFE;8]DB^?A%P*:_ 3=#H&GSMPM MM3Q,<>\R;=RD[A#?02FB,<2>+XL#<":+=*>0A3'Q MHI#ZOAN::.T+\>(S-U?.D@Z>GB":F?T%]W(HC3R5"^VWR9T9?ZO[O)Z82!2Q,OABF- M(H@2QX5QF"#($J%(W3AV$#?*5*_7[=P4I4(MC:=;T>HF'TUM0V7WJRS-*):3 M>"L44/)DIF&1FF.BIS#M,SVR7MR2O(-\51/Y GYO_AQ%-9HQ94D#:G8ZJ:(S M(^)0GQF^/;!2ITRL\4F(@\N'.J2D"0A=."SE'$<Y$<8"CU!N@+0QAS%2'W(J& M'H31J59CO)$ IGD!2R$#R-2U'"6HF:8Q'24]_3,&Z=-HI0UR&:/:8 <2(M@A MO@+7>P,@Y;&GK@929TF)F?8^J6H;2,VAPAO:S,31>DVJDU;@Q#^:J\37]4WB M=]]X0;.2WQ89Y9_SY5)\C/+%A1=ZJ8-"#[I,GI\BH4X3ZA(88)>F 0NC.)XF M=F^P"'/;;6Y@@P8WV '"OF?_^2&SM^>>%'_19$Q4:S>\*]$3Y//>^PG] L. MC./;5C?9B]CK^9[ []>D5-7);!8[>;61?.T8O^$"_#$B_BX>(&OQ?YGUR!Z M['" G31@(P[8R'.U=]:_N=)^!;9"@9L4U&(!*=?$@V60BG[B09LH8?TT@V>6 MV]XBTYT9\&WT,UV>?(NL[&73M]GNL*WFYSK.JVY:>OMY(9;71UD:\X8LLWO5 M?RL!<;#HS>UFQ$ND=>Z1KD&P6HCF=;E-^T*!\CB_- XBQM8TQ[GW0/,I": MPPW$T&:&Z;V[ C/14_$O&1.G_B%+PI5-EA3&0NXQ$L.0<&':$T9AXGLQC(B# M&$[=-$G(0NQ.2*ZKYSK[,YEF[5['FVT[N"H^HI+_!.H%,RW63;.>SK)&W<@: MZH S]4]5N;$<(;NJ%BF6M$]W7Y/J&BVQ#S6+WDM#[:>R*C(J([UP^2"/1)M" M6P&/&$F"",9N',NDZPSB)"3";B*N2X4%)7YG9BB=[FA^%M$&)U"']-E*!AJ+ M?V6KIBH15G7X3*VA,S3KFCV7DS>Z?;/E36)4M[FIK;)ENCQ8,U?.=#.Q7=(M M[+$!TO/\P,.\;<7I]\*NJ?C'[)FS#\*&6=UG9,GKJI0'EVT113SP UDRUG<@ MPHD#$^Y%D,=^["4>ERF7C4[CS#',3:^TZ\/70D E!=B) :X':)8APZ-Y##8N MZ6.?8VGS/)V-0I36/. M8^[$D(0,"?/)D?D\$P2#Q$>(AW'JA481ZV?ZF9N6JP,/B M333#(@ABBN,D@9X?R-M_+H()Y5C\!X?(XVD4Z67V[>EG;IJ@"6[>XM2)[S#B M54\76&!K9%TPA"AC9=!#@R5E<*Z7295!CZB'RJ#O<3NY^G?:@"''"WP&G13Q M)NC")P0ZS$$8(1S$GE&)ZY"ZKEGSA)(Q[:>I"-XK%)L$E"&+F M"(W@,$_L#T)$ NVD3X>-STT!*%!R,^YZWY,?-E<+7O13/!VQUSW=+^5D[,,6 M0SJ,\CB=DWM0^J:CQB;+VG1.C':RIK//#%RW.P):&%-E?,J%CZB?1&DJ5NY0 M>C>9#W%(?>A[*75][F%$D-GIJDZW\SMD;<=_E0U

= M =! MVFJ"[.HT'=N42->4%FOE]^3B ZVN4_'G]7*9?Y6Q*.+--P47X&3!B@5!?NRY MO@,][KA0_(/"!*<.C$.<8!K[3.Q)3,J=C O7R*:9H&+*5AY5X- P7]&X ZNG M(NW_ID.W CLJZ&<).J"Y7E+FY)98)NKK37WM M8A=U5]?+ >6:_">GE6U7E M>YP5O^'EFN\2<2Z<(&2!*^N/I@Z"*,8IC!VQ*W<C(1W''D?3!LQW>M?W]]6[HI >S4]Y]4]>O>7"U'G,5C+MFV'5*9VV MYF9S"1U9 RBUG(#< ME+1!VT"M#B;;"9J(V]X,&KTW<8*XXQI[,I;S[@$W-?C*3WFS-3HP['X635=O MQ1>XU96+) U(ZH0I#!$A$#DHA 0C!)W0\WV/$(<0;_'$BRP7YA\N*CU+:PZB MFJ_6KSH\(D M8JZ#?>C$$87(2PDDJ<^$)>\SAT0Q24+2?%3O5NQ_\B>U$6^*#XK798/_QWU- M>EN2.4"=D;%A(8/AQ0F 0EA MQ-TT2D,WWJ%.SN=(I^^M]/]BKGOZ[V0(%_QSYSF0BF]O%WSN[RY 7"3OENE MN?B:E*9[K'1=8 9-SDU3--#!!CM@:RX/%AOX\NBK)8 *H%IW7&&]B.U^G]A( M1(^L5RQS;.00&\#8(+^823^3N<<&"-_VD@UY?>3RHZ1=H6^["+,8(!Y'P9S(%FT86#IF*5(.\F;NA+I:3#S+$3:2=S@.J3=K9K?RGRWJL1^51B2'YAH4571E/W6 MD2 +'.,8QP-O3W-33'68-5^9Q]N$_>D M?W&SF^!N36>5MI&5V&#&C.YV:K$QZ*)G=\N3W?K4$K!]!53OA6&VUT"QLA2"""#D)Q)0Q&$5I$&**XS!B)C>EMBT;3?P)+C7=R3[ 4L)3 M%SC-[)X=87HFS" :1I[("M-5]YTN8W/C2%!+EL.NW4F-@"-Q#M?SXP>&SJ@$0?[M)Y8[L?B4OR=RJ?* *OIQMJGK5MC#B9C;/TVC =M5792[B[%(UYH*1WQ MKYW"V6]K$O5P$OYF,I_^Y3 +[GVVPBN:X>4N)D!]52Y&C#"2P(@SZ5KQ8XA) MS&&*Q#[+31,2N$9)PL_T,[?IN879"B\RFIM]O.K9-Q;8&OMD; !1QG9(#PV6 M[(ASO4QJ!_2(>KB.]ST^U-.JTA1@6F7/_"VN\":UYP>?;>/F;E"S%U!%U%2*_D7L)MR/(P(C1UV# M]5(8)\@1=COU*/9BFA"M L4ZGQCE5$@#=JF6H7YH4^<[?:_$A93C%W?* V_;L=S4RSMNC@RI90L/8&72_&'O"#^ M"ZZ:U%-#JQ#U#(.>KAF#W+&]#2U>-Z"!1 V^E[A_F*C*D!Y?UDL+]73[2O6$ M],@X7T1(\_TQ,GO6*[,3I&[*_1#Z6-910QZ%)'%BZ#A.FCI)G*8T-+* ^ON< ML[[:3]I8"LBMG(X##2.-4="TC^QR.[:9U)\0^8'N0I4_NI5GY&]?NAUPGLC*^>(3/YJ(VLTNIRU,>ISXXJ5LL!._AA^XUQ M:C#9)-MB\K3+,4V>6,T:C:>2KMEK?.BYV9O\\3%?J?B[.COES;HJ*ZPRGRR" MA',4IP0RQ".(0NS#.&4^I X.XB @J<^U-+=>=W-3R=(&"NRTK%C-SEX/;=S5XNH"OP/L^K55Z=3\FCS5O_ MKL\"92-/?UVVQLC*V$W.L$2,9]J<+O=BMU![Z19['C6;X/CI*>VL2U57$%'# MVEQ7_R?'Q9V@F2_2) H\-\0P4#$X/&8P25@*_2A,G=#W7>2E.FKB$A!STR,R M\$A/1UQ$?;<2F8K0T7=BW27N6E)L\E]< 2D(4)),, PLIRK23?WVU8=C#\T? M;UBTEP$;?-;KA&Q)+05"73EJ.;BH[4G6"QO2;Q84*VU-G-/W8[;B'RK^6"Y" M%",4>!3RD&*(8AJ+76PLUA_,4(##B+N1443XY9#FMAJUTY7TY[8\2&LB)0._ M2]F $L[0!VEA@/4 M/&YYX(V=30+.GUZV?_U[Q@O1T,/+1WF?5UTT(4%"4LX]H6<<*M5U"./8]6#" M0I=C!W,O8$87>+2ZG9M*;E50V8)51PF?KG\;=J]'CWT]76J?TY'UY25TFM_^ M,6+'UF4@O4ZGO1MD1,3152&SMXA;Z*0^KNC0X MUE,[=ID;6>5L2=N@!=^W\((&\/GZ <9J1Y\=2RI'H\-)U8T^ 8>JQN!-\Y.1 MYI:X6EXU3T-:K\Q-%S30-.OE'RFO")W/ H\1('.1C&B2L3\,<4 MQJ''(6?(\X*$L3@R6JN->I_;5&V!K^LTMN';R-)O-C9Z:_QHC(]]"F&1;/-X MKR&DV8KK,NI[VOBM(;0QA"' 8=IP,+(P]SU7+-;B(-@S$W]20%4X:X\W:MH M+E$#+&&7PRN8#QPI35?UZ/R/[9Y6'-<2@%H$4,NP"?\Z+FN^J9*E9+'HD;Z( M2UM>Z&$@IO4\7T34D;?YLM;,=UFM*+9-]80/*_9)?*2ZFZ[S+7 &!,WO.V!HO02=A1INV?CX&[>$ZFIUL2]\D(=4,E\>_R-O"56O+S)&5]X<4"(/+^/G3B!*,8.)'&20N[' MKALFB%"]E N:_A&R MI%+O$*$;H9"]S4R4-/( 56+/]SVD:];8W%Y,SLF:H\5UM MLK^-XK'IY,#2KN-T'Y-N*CK%/-PS=#]\0:F-W5W5-/)HC#&!,<<4(C=UH?@G MAX23E 1QE-) *Q_DZ>;G-L%K=(/=NP?[,'C4]? MCZ/W)NN9IX::_]>,B7$OU;I_4]P6^7,FP"X"ZCH\8AC& 2(0<13")$E=[*M8KQO6M<[%3OV4Q#A$4 1I")'*DLV\0.Y1XC * MTTSZ/W%DLCTQ%V%VMD[1Y:C/ )2=T !OI3;;SXP8$+T]CUN8'9LX*7Q#2M2) MK_*&?E,:@+SX'6R5 #LMG&RBQH-H::,U0H!)-V/C 3K>L%W1TNAB/7G%/^4_ M5#>5_/IRLN3-<<^9W-$OT@ __.3+'_QS653?UPLO3$40IA@FU.<0493!- F( M*CL?QAZ/(A\1PYH^5X@S-Q,I/V1D7./GFN'0,XK3@>S80#:*P%H3L%,%U+K< MU+GK=13+OE9M)OM=86&S:1=0>[6'KA%FZA)%%H [4\G(1JOC#.K65-=G;UW= M^H4B\*81]F%2^X]AYL.,9A&,8L)BS_=I&!HQ>Y_O9FX&<.>B+)L:R\^MH&96 M\0*F>M;N>J0<6[$=2&TAZOLAD(P-5#\&E@S/A4XF-2C]BAX;BH&GQZ=%7&01 M9-B/_"00,.%9 %&<))!$*(1AP$/JB\R/HFCQW 3D57A5Z1D#6YR#QQV[^^;? M\,>\4 E=@.!E'0H\.MZW%V\B=<,DH-+8QDB5FN,P93Z%48"\2&0XY3AI\7Y? ML-= N^O6Y:D[*>6.7%M,$$8OI(*]+D&FB]+ED#\ODF%W3 MG-)-;X22$ M&?=]Z*4QPT0$-&!&[!A6I)J;0]@IU1PP,G=YZ-/EP.%ZX+HV W%/L=&J2()56:M9I% :RM]I9Q=O2LFA'IDG73ZLP M'B^T=ALWCRNXY^5G_D3X2C=D8/O"[!:[]W?Z-_L[M?M-UVB-79N>]W?@KT8J M2_?J)UJ.NC+?M3+9;?B)X/L7W:>_'$'XW!4HO"L^ERP7.6T+K=;G& L>$1(% M D$_H'+32Y7;$D?2;?%I0#C-,(O%HE#563E[T&1W[NU1ZS/,FL_PI%^'7HFJ MQBGW:,TRC2JV)O">,) MC5M3ZG19ESJ5&.^CJ]R*&G-K,/>;1+O@.;:3^R5B[PJP+RRX$\T1L+W/4Y_> MVAI^$Y%87X6C&5.U%C2]?-3]+4S'.JVER0&WM-X;(\]=6H=2>H_WY;KB3\_+ MLOZ7-[S@(J_6"QP%THRR",9IYD.4A1%,$Y1!GR:,1P%- S."O\$>YV9EOW&Y M@:^/;BNNJ? M;#.U7[0:X_FQ/E$\B*1:8"_(LHQ0E7"60A2(6%J9C$(497%,4NSS2%H9%8ZJ M9V7TNS8R-UL!W$T=%7%8UZW<-$&&[0&L@]#.<^.@9XK_UKGR2WMC"IW[J)XA! M&BDF1>IQ2 *&8"ABEHDH"D,O,&)2/.EB;EY0+:':539T5'\U4II2(IXBJ6=P MKL/'L6$QA<;\@OJB]K:NI4\[F/8R^J*")U?0EY^X##(.$U3%GI)8!1KZ$;,N1F9+QMU*OOO_^;' MWM_4?*J##":JF-,_GGIFZO5'R;&IN[JRS@UH53V(Y0%_*75!J^\<*NYH#FJ MODH"4MZRX.5F?605GA0SU2@RQB,8AR]DK2#HV'S:!&\L,>-Y<*[E93QJ]35H M&<\K=H&5\<+#XWS(]T)PM=GDBIKMB3_@7U]K5C9%AKV1G;4Q[M+P+'@FXIAR M 04/*$0<^Q!'TB]D@2 H1)'P4RU*5O.NYV9(MI*#O!8=5/@7D+*J#!4N^]"U M&R,&0<^98>[7EXQ\?!$U?[, MP]/'QZ8>%C_D;*H#-/8R99I_KCCS%W*2HX %*0R"V(,H8C[,O"R!&15IEB5, M^H',(#10NV.M#W_Z",&=W.H(O3E+?P-HD_[5E".IRO;?;P___8HTNJ%!TKR6 ML(+Y5 EU^S@?Y-6!K< VD^HTH;&663?4W\3I=9KJG^;8Z;XXDO)WY\XLTHP+ M1!,,28)#B)A ,,6<0A%&C =QY$<1-_'N]MJ>J4EMKW5*437M\SCTQ\!;DM_'R[7F^>FJ/MCG#G[^52-J,< M&K5E7/B^VEE0 2D-Y:8#I01F# 60^2Q&/(T"/YGF/E)?YKEM8+941C^V8DYT M-6DPSH[O*=V,WOPO+97>H%8<[&F^1V^U4[X^;9O!#:;Y4+WV=::!Q/\:=YOF M0V#MHG-$U^:WGF?H8?^^ON=\]<>JW#P;\TYK-C>W=>$BS?'?UT!)#VKQ]2]! M=5$=OA)U *AC4ZV'I0,":4.H1EV7ZO8QV>6IH=+[5ZFFKX[SC/_>1/*VH:(B M\''H10P*IA(]$U6^/ T\& I&A$!Q++>S)C[L0>MSLRJM<",#;0^!TW,*1\/A MV"9H(V'L6YW5V)(7=-CVI/[*6;6./8OS#XV;IA\+NE)GZ.]X\^?'HJ:JR-D[ M+OAJQ5E+\WE;L+OJ.U\U/* +%@1(1)1"G,1R/GL9AUGD13 *D1_P+ N"(!UQ M$#Y.FIF>CK>B ][(W!#'E$IL0*\H4#=RQ/0,B<,!F,;B= J WSH5?E>)6-U8 MM.+70U$KT) =6SQ1NPY!2Q9LI!"3FKKK@#JVB5>V-K+D)J6;I\U2&92Z4;71 MDUZ5[&<;]]&2TO@Q3CU""$Q8XDG_AT;2_\$8"AP(GF2)QS.S,IRZ/<_--]H3 MO)V !Z)WH4\-,X%AY4[MT="SA4XP=FS^;N_>?@2W5;7*R:92U%+J O8>-]4^ MK=$+C4;(5OU/[7ZGK0EJ"L=)G5#C!LP/?L;%N,\[L-UZ,+MQ!/MLP]8G#56W M&)_^6D'IPY'H5L//O_(?O-CPKUQMY>2>[IZO1+EZ4I0E=V29/VXK+:C#WX?\ M206.BF_R7]=",0K41<17U3LYOK>_Y=%C9)U&,Z>FG4MSE4%E*;@+Z6KX:&/ MY>] S\%YO=%U;/1>9V"-W2YW MLZHO&#^L^']O>$%?VK/D5!"2X$S 6*0J(R",8)8R#+%(4R]@F1='1@E,&GW. MS>3O20JVHHX\J->!7,\06P;2L74=B:%Y63!]5&S5_M+H<=H"7_H0G%3Q,GAU MQ"YRN7S_B].-2G!Z*RW88[G*^=J,>+JOC;G9#2DKV H+=M(:;"G[$-/88%H" MR_5V\P).EKFM== 8M^WL:WBZ3:B&>@=;4IWG1Q]QKS:*%<8H#F@2QZ7'V:2^SLP&-D( T4AH?3I_!4?L@ M^CIT7$_Z%IA6P!O0BFCUH/DR O8.E<_T,?4!\F4USQP6]SQLOJ1_*8NOFR7W M/1+YMZO5+2N?Y;[EPQ(_ZB[HEUN8VU26DD(E*E"R0O\@FK@56W]E[P%N>%VW M@YGC":X!%_A+R6QI>1\&9=3BWM/L9$O[L&K["[O&TR/S5OARJ:A4"O89K_[) M53A1>T&^X#'VLH2F,$D(@HA'$^D$0A"D7GF^4;G*QJ[E9!56#IXG2 M>>HD-V(0"UM)#Y<[FC9785#ADQ2# MX3>N+L);GR$LA(_\, ACR!GW(?)] E/?BR 2F..4"8YI9$2:>]3!W$S!V[U< M]=%E7AOH]&;^-8 XGN^'Y5QKZ6[ Q_5Z8S?G_+S^]HNW-LV_5L'6 ^5ZBK0> M/C=N%O_!"[["2VD>;ME37N3K2I%F_.#=FD0I"4.* Y@R.;.1B#-(TD1NY8D7 M)ZGPA$\SDTD]T-_([MP3YNA[+:=P(T4;%D M)89ZF]1H:*I^;$-T7QMY''BQ9*4JA+JK=WDKY R^*_C#]U6Y>?S^00KPGQRO MUMM;B46( S_U: :#5(00>5X*211F,"-!D,89I5@89;5;DVQN9NK=A@.LA 9E MP<&+E!54C>SJ3][\D^EII+5AU#S!?(W!<6P&-2K_[B>?WW3UA%_DD\O:\G%6 MV]!OTFU?\NVOZUB3FW;(E?9 @):1,"'ON7)_%S5]KC8.HNU)M>TY[>VX3PY M\[7>P;AE0/6VZ_M8JMNG5^M9_JI@8^ -[I"7![G=-I:K:TN/LT])::60SX M'):>VX.Q;O0#G^JQWJH(;G7'VGAI<3X.EI8:=W).NO0XA_MX*7+?X4@ZY-4C M+O+_J8,OWY;%NESFK&%>*=B];+\KK7LG/N2%%"K'RV_R7^K+K/4M4=LE6BV( MB., I5S1O"<0,2^#)$,)3'$<99Q07W!L1/1K0ZJY+3G[2MV [5JQW9?,158 MO54-['0#?W7:&49?VAEGO35E\M%SO'Y,-7#FC,,*] M;+5Q&YSW7_/'[]6=^'/-ZZSN=NW9AM^K,UB2LC#*DA@R%*<0*:H*0@B"/O,$ M2WSNAW$RGKA]6("YF>Y]$=4,+[=TY@US_DII!$L!-XHL801+A?$(:5IBA[B[ M-KK'C/%?.XRE_ T-15W9(R]93L%7SC9UDH@K.GE][)SPS&MT_XH$]/K@]#/3 M&[1S!?\L&289)!>JJ7TIZY*[G/V#*U$YN_TAY7_D?\@&ZM2D'1EAYS)E*4:, ML@ FA&<0)3Z"6!7*#(E(XU#ZQFED3D<[J0IS,\:=X*"5'-2B-Z4TZ\1#I4'S MUUJ/YL?GKMIFC(XB1#(2*0!ZDOMX,)@801 3&+@RR* M"8TX,0HXZ>UN;BMEP^S_FXHL5^4WE*0C]H<#$.NYVO: AI?A)5(?>6V:6A/%\\;ZH\NKE0[[DJY:X[641 M9@'"./%5SDNJ3(D"9;@8//3:6'V5=W8D_ MRI*M;POVC:]^Y)2OOY5+]HX_KSC-NX#8_8BO1>*E8<*2#":I"D(-I3M /!3" M4+H$ H=2>V;$K#1*BKE-_WU1&RJ&/6%-J5?&C(J>&^$<:\P29RQ5@66-\&2/#Q+0P5\!TRAUS36.CZ"+O>?F%E[<_'NL;7,.*0I?>GYM] M4MR']^_OP!?YORZ KKFQOJK"T$7XAH\%;2#GV-K8 <;G9(O MLE>M([;(_F='QIAWV3MUP,LBRT3"LL"#'B(A1)E((+\>%\P%?VZ"(0J^))B* BF$"4B@82IC&;DB2C*HI10 MK;2-OD[F-GE;.4$C:$.F(T6M0]_U3Q@N0CI\S& #*-<;@S$8&1TY#($PZMSA M8J.3'3X,J;5_ C'X[+B5^3U>J<)3ZWN^JF/C[\ME3E]VL=(905DBF >S.(D@ M2K,89B3CD.(DY(1%O@B-6 P&^IO;]/_"&\(3\-R4&:Y93,V3I890UEO4+6+G M^O2QE50EHS9XW8!&6O!7^Z?5('1#A"SY!$.]3>HD:*I^[#7HOC:2/K8LV<]\ MJ:@D/Q:5_$)RZ9HTD;2[O(0]8\-9XB5A#*,L0Q"Q0,"4AAY$@2\2[H4TH$;& MQJS[N=F>GM\6J+:4<"<\-:.:\7\X%(=DST'CY@'*&R MX[D_J*W14>&1?J-.!KLV)CL(/!)Z_]SO^%=74$F\&4[ ?7.<@/O^OS=Y]?*Q M6%>K.M)M74=+/'S'19N:6Z?@KC\6#;G)8'[N@M(XRU@40YY$"40")1!SSB#R M(A9DG$0Q,XJ=FHUF>C><@Z%WEG M9&8M$% TZ( ]>$ 3V%9)@';T% U&*M^Y04F7I<(R-<6R&(6 M:E\ZX9^=@./>+Y@- F@AUBBR%,IS,*, MPC0(HB0F+(@RH\O!WM[FMIQVHN[1<)NMH?W8ZJUKUA!SO-;\^0UL\5([^IVH M%A.)C$"Q9(#[^YK4*&JI?6RH]%X:9SR^\.HM7G^_7Y4_4N: M=TNK_$<]<18$21-"> P3@4.Y"4A"F,49@AE-"0N]4"#AF5!@Z'=M9%8FX,=0 MUQA4B@Y^VRB'*R]^!\^M%LH9VZ4+X*T*9F;'8%3T;) ;K!T;) 6SDAK<[X'[ MVY\=Y#OZSMMAF(T-E#EBEJR50<>3FBYS0([MV(@61AZ<4_ MY3_XR1GFATVU6?$S!*!']%:>AY(P"#V8(BH@0BR%F <9#)#@81AZ*/7-JN]: M%&YN_E:G6TM1+K6#M7JGMP,WH%'Q(-YYL%J=^]'6/*IXI3%T?=I@9_B<$*.Y MA-[61M^F:-/NU1V >K+==M''E?&S;Y=XO;X3=7W7VU^YXHPB.,(!@8(&&$J# MG\*421^7^&D2$HJ#E!IQ1EWL:6Z6NY9/S?M:0O"7DG%L9.T)JII&U096CBVD M&4SC8VXO06 [_/:DG]>)Q+VD[L6@W(LOF-\^OU^MU/G?5T[5SOJE"0O7O(H^ M]^[<9K:4L2QXN5DO7YHK@>.KA$YZ_8OKLY -WV)?BY;CN:T-E+U8^R%41EV$ MGVUPLEOQ/G7VK\A[GQMYEJ6J;?([T6XHRT*NYT&22G!B&"8DDNMY&D.2)"$, M?8\D(0H8X4959DZ[F-MT;R142]2;S3HO^-KTZ.D41,TCIJN@<7V4M$5E)YZC MJ+3+.-@Z(#KM8-J#H(L*GASX7'YR;)7;7>*L_'G)SZ6/9YX?$#_)($V9@(A( M;YYD:0AI0!&A&?)(8#3G=3J=FQ6PF,.OA;F>B;"-I&.CL2]NG:G?".PP3=\$ M(&O55C6ZG+APJCX(IS50#=X=0=[WE:^K54XKSNJMQY]%7JGD_GN^$N7J2554 MW?U[=P'O(R^+8@YCGDISY*489CBE,/4P8@GV,Q*D.N9H9/]SLTQ?O_VY;DI: MRA\,N )'(-]OE"; T[%]V@G?'D?48H);!>Y.@8/?C2!I' &\ 8^CVP&8B.K1 MQ4"8<4..A[&7/G)$L],Q3([7^8"$\HIFQCFQ;2C9^J%\QW_P9?G\K1353[SB M"QZGC/C,ATFDZ*BH\"#Q"8-Q%J0L#&(4)VA1\$ZB 2EMS3R_U,ZI,.JGOLB Z_,++&VME39H(HG5]X\^?'XOW3\[)\X?PK7ZJU^E.. M2;YLP@191B(OC#V(I(\!49@I]FM!8!+32.Y$!XXA@'G>R@%1[L26_/$QF#F27GQ*CK M2?V5,: .E_?E.J]/[[I"3@GS(Q8%JO B2B"*< @) MDG]%*$5IF&4^YEHLW":=SLUT[?C>FA"]1FK0B:U3\&G\ .C9,-NP.K9=%A = M'^:C 9'MB)^^+E\G^$<#A(MQ0#KOCC5)TD/[7B[E&^LFX6_ATPS[62 @140Z M4GZ[.';QO^&-> M*+XH0/!2G31>C:?'0S_!&8?R/S%$% M(A+IL$DF &6$>CWF+Y_N"38=FUYD[ M+&4/-H'47>NN@<;QRM8(= -NJVJ5DTU5Q^17);C'=LL87P;!VMIUTL'$*]4E M!4_7I8M/C@UX(=6W;>[R[0^<+]4P?BA7W_!2^N'JE)RS/W!>+#+?BSA-& P% M]>4./\404S^#A 88XYC&/#%B>]/O>FY.\A\K13'920B4B(9;>P/8]0R%&S = M&Q E--A)+2U))S<4Y0HJR6\.8;89"6,*F+5X&.V.)XZ*,07D-#;&N(7KTB_O M^C)]FJ#QQ/.R &448L]71DM:KI3Y,<2(1'Z&""?"R&CI=STWHZ6?>S>2]UY_ M4#1]'R=0N][MVT-Y=.:B/F"6\Q(U.GZ5K$-]0"[E%!JT,+;8_$&02!OGE$5( M)!'SH4@5&5ZH"'9Y%$'BLS!$E(0T8B;6ZVPON* B]) H(D\[KX@=?D7(R'/=[B&P9'_/]S&IJ>U5\]BJ]C]\K4\X2+NVOL2[UG@G M/F$4F2 M4R+):[W.:X?=U"F=<# G]%EU^$#7O82@+OU:2YA;=WNOE>N5O&)+<%YVFFUU M,+9D;U%?U/TCK[Z_W:RK\HFONI""EZ_\!R\V7*4'/Q;J7&(113B@-(QA)E2Y M+%6..XN4PQ@PRGS&,I(9<5";=3\WX]X*"%9;"8'ZE #C@J]4A-^J><"T7J_1 MD.C99'= .S:\G>#@IY0<=*+?;,.87M3I9S,,._EMUNP=@YNU8KU&G4]4>U,B)I<#31\.>:];-^I*$27@B", E0 "/&52QGEDJ_-Q8PB^5>.22Q MH($6>8EEN>9F'?<$!,T%M$'"F\7AZC>0KS@(KEU6'=KZ-[VT]?M#>/^*0VB0 MR_@Z0SE1CN.T0VJ6_6@?^-ZL2(O=39W#A#,=S&WZUR(:["+/8::QH[\2"<>SO*G]UHDWAA#H'"P&N^0KX9EHNVL* MD]F&M0>#WIWGN?>FVT+V2'VP%^Q[[HI*J&1X=TF.=Y?;&FO2S=H\-=79%*,\ M;:ALGOR%+UCB8>;#%/D((NG[0!Q(2YC&?D!(BHF@9N$$SD2=FSGMA .RLZ>Z M8ND+QZOUF"JE;H96,V1@%@,VAP/9_CJBNY*?8$_A&[#]#)3.EJN!.AT6F^4] MW0@Z?;U.IX"?+<#IML?1S"KE$_]4KM+-RI\?:J>?K:A&$$4J(BE=3J<-(1)[\ M"1,H2(P\'OL,T\PDB=BAK$8+S@39R(T*X+>E5/9W0&JUFL)[:V7*Y%]!WCQ2 M*36-V5RP,.U0.=?E;9 M9%P/@CWR&6>23LU5XQKR,]0VSKL<<4AS^8"X6]WV>:QOA>SQ/Z7+_4%.SD4: MA$*$D=S'!(H[-/0HS)C'849CSZ-1A+'0JO-\K2!SVZ4\R+THQTI"@R..:P9" MXX1H(GA?\\YJ;U^PK\L-J(<"*'6 TF>B03$XGYIH<"8ZQW([2&:G7A:0[3T= MNZ;]Z4[1+*!P<-IFH[VQ =R[75M+"?=6<3+_P0NYC"YWU*II)+*0XQAB(1!$ MJ@X"]KP QF$F!!-!1'VMJ$73CN>V%G7$DUMBQ/>CB">U<=?;=[A T_'2A B6(, \S+;=9HZ^Y6:-:MG__-S_V_A88 M1F_U *IG M,3,3C.>+]T655R_OG_CJ4>[E_UB5/ZOORCKAXF5!1!1FS ]A0(0'41!AB E. M89#0)&$)"PG2"I<:Z&=NYJ$1%72R@D98T$JK9S"&H.TW%A8!AAUYRQ\^P9Y4>YPGRKYZ:J/VS"9:1Q:_1E+AFU.F)8T3MO#W*.1 M;8R.JS\(W?^B#MKH"-(D1C'$J5P:1J-N8T(,9PA[S M,S]E"34,L1_L=&XKPMYI,V[36 I^^:IV/-BZU^MV(71^3WZ2!"0E!K]M90:= MT)<#[L:$YFMC9"]*?[C+J0/VM4$X$[NO_ZZMLD^GK--?R^7R0[E2L5*+)(H9 M"D(,1<(SB,)00$)1!G$61#03A/N!5I3_R/[G9Y7.UBK:U^%_@48+\)?2 [2* M&&8XF@Z3KA%S!KYS>V8==PNEHK30GFRK_(5T_D5/9PX?"N![F8$-SLV"UP& K,>A$OI$SIJR*LM(D?=)#L=\N M60?0L14:QLY!:4QM@$95QQQN?;("F=J*[M?(U'_)10F-K7?6;AV[,+ZWFY6J MDK(0*0MYB'R8$)I"E'D!)-S#T LBCCE. Y$:LR'_(UQ>#_+?U(O5CW\LR#GDB(FE) M>0A3$L8PBKU,;D*YB$BJ>XUZL9>Y6@5I6_2O4RZ .7Z!:@3_)4;%,G0ZG9LY^ ?/'[_7X=8_^ H_\B;ZJI$7*('5 MD8B*SC6,"-4: #WWR#:LCDW'0'S['K13,&6=0N2<'FNORYEP8IV"H$^$=>9= M\Z.A^Q_/1Y?5FD=!)R_.S7[/W# MGU.ORH!X> >Y^S& M9C;A9=5V'7&0PUPMR=OM^3O?_$5S=?\?I53OL@R M0N/,)Y!2+X H"3.8$8_#-$T1C2C/1(@7386);Q5>57KNQT32FTRF8QW>*SW# 7>\ MPEH@);SK6 CO]K^5XV-6T"$ :@@LDQ1.-V8V&0LGD'IZ^L+IAN(LE^&$W=MT MFQ:Q+V(1)RDD+$$0$<0AB4@,<<@\XJ-8<&$4(GR^F[GM;.K(Q+;4+=V3\T:Q M"+91$W@-<,.>TE/9SP3J:]:"F9KNK4G>WR@I1\,!D\U%U>VQ81VU/S7MU7GUSO!;77C0_&YA M=_)\^RM?Z]XM'+XUMTFYD^X_]&\8CH 8OF$8CX'C6;AWF?"7$LU2;,)Y?4?= M)APU-=EMPGD5]F\3+CQA'K#\-J]>;E<-1"X7OWTM#<*,#ZGZJB8 MXH.&)@LC/B?^?N3PV=^/I5F[94P.Y_J^7%=X^?_FS_77E,9!2%*"H'1+Y<[2 MES_A!*)V!*'M:+>@$98(*4UG)D]R [/4SMX.9ZU M8Z$:0;+6A\05'&MGFYV88JU/M5.&M=ZGS<^4[EP0S+Q(P\[TD%HRPD)CRSESN;6Z3O*U:M)46=.(.%VX? ;7> M@90U )UOBT=C-[+KK%4HN#:A]OFC2T$LC:%??XN=<^A?JCE5= M7FWD!/U6BNHG7O%W^?JY7./E>N$)3/TD2"!AC$.440;3P(]A2#V&8N1%<:95 MIU6[Q[F9E#V9Z^MJ)318MU+? -;);<#YJ05\OW%Q J?K_?\>DIV\X-L6R7>N MD#2@3+6-Z$0\J5#:$JD 0\Q1+ZOR%%9!!F/O00K M+@B]4U9[(LW-UK]?5_E37=1F5X+"S&&T,$QZ7N6TX#M>&;0X=3H=Y&^7M8&2 MPU1O66L-M[\&2L>#LME_=1I;=&#MP6_)R[4@T*2NL#T C_UEBRU?R\/3Y+8I MPA@2H"3V$P]F6&00>3R#&1((,AIY61SZB8^TC]DO]#$W8WK,+M,F.3Y7<.^<(&"!>6?7YBOQ[IPH=9EUY_11>SGT#WSU="=4.>-Z M 0\]'P4B3F'*$@)1+*=YRC(YZQD6-(@0(68G<,-=SFWJUR("V=/3]=GR1^#J M>4=V(7-L""YFQ"N)5>F+3F:W&?#G\7&8\W[4X:MGN9\'0">O_<*;(W=Z#3?@ MWW%SSM>Q;"8!BH,PD"Y#'#&U>PM@ZJMJXR@,(A_'81(&1KNWL]W,S9)T])D_ M6C$-=V/GH=3<85T-D&.[T6'32>B 6K0? UM;E_.=3+L=Z57T9(O1_[3Y#?WG MO,B?-D]=M@?QA& A@GZ*,$24(ICY<01CCV0H"WTOU8O).6EY;K.[%4[_ OX0 MI_YY?)7VCJ=N*Y?E'(ZSVEYQPW[8WF17ZV?5V+]3/__ N-7V?E7*I;QZN9?C M4]T63-5*>%;;AB^\6H@LC.,$1]"C-( (2W<^(W+_3D,41#2,.4JU"@WJ=#:W MN=G)6I^Q\4[0$;6D>A'66XIMX>9X5G=BWH!:T!JY]SODOO0@9[PRZT!B:7WN M[6K255I'Z>.U6NN=D6G=VP)XY]- ZPR4-M'\EE;YC[QZ.6)^C$5,(B9]^43] M!Q&FS@6##(:^"!B6"[Z?&;'S7B_2W.S0M\W3$UZ]J'UPDS?52 \ZZ0W3PZ\? M,CV3->U .#9L@VGGC2(WVT%Q0@!J'UI;:>O7"S1MBKLU $_2X>VU;)ZJ5_-Z MO/^UH@W]CV:JWN%;<[-^F@PZ0UCTVZSK8'!]RJ$$L\XD=%GE40E[1TU-EK!W M7H7]A+T+3]@N.+!^\_(9_U>Y>KO$ZW4=%I\BA*(T]*&?Q!2B$ <0I]+'D3Z- MW%)AA'U?J^[(B+[G-HE[R?+7BFJKEA_4"A@E)8P9&#W_Q1'B@V64F(SPZ4%N9[%L@VC8U/5X'<@+VA3,'Y3(O_>%!Z7VUXIMST; M98*2)>.DU>6D5LD$A&-S9/3NB*R,KWQ=25>MXJS>+/TIC=_Z'WGUOUL6 M+*_W3^TE2)1X$8M(!(F?A=+/DO^1'UP&21@&*0DBYB.M>^$QG<_-T=J)WYX5 MU0H I<$VLW&G@T&>@>F@]%LLUU [MEQF* _?<5T/MT&&AT/8)TKVL/21FZ5\ MC(2M-_O#M,WI$D%&:GN0$S*VC9%7$5UZX)UXB]??/RS+G^MM1@'QA%P;Y"Z< M>JF B"8"I@$A,!8T31G.$I]IY?#I=#:W)6&7SJH"Z10U:BVN3E* .=":5P.6 MX'-]Z#\>.?,C?0U(;!W6]W4U[3&\AM(G!^PZ[XR,.ZRWU-MOV>W-$YB19 MZJS.MJ('#QN?-FKPK&(GT8+GGQIYP?7P]/BY>,Y5_4GC0IL7&YC==*PO?1[R M)Q4-__G+_<>]>IN&EV!G\=*\#[L6JDFNQLZC!/ZR7GQS$)+Q5V=G6YWV%JU/ ML9,+M=Z'QRV_?Y0E^YDOE[?%R3'W;E2WBTT6>D'"HAAB/TP@(FD&21PAF/A> MAC,A$AP9N?1&O<_-6G3"UP%WI[<^^Y-BI-=O-CAZGH SR!U;':MH&_L2HU"S MY&J8]3VI)S(*EF-'95PC;ODLMI.*B8@$:< @0RF!*&$^)#Q,(?5"STLSBOS8 MR.*9"C WHW=(D;"6&APP*-24"CLM1EL^XW'2W 8Y1-^UUW7"37$M\,[8)UZ9 M:V+>S!*V>"0L&<2/!5VI7-)WO/GS8W&A=O*"HH1&/F(0(RHM8:3*AJ$D@#CQ MHR"+%=6$D274[GEN)G"7,+VL$\Z7K:!R4(QI'C6QU[-N3A!U;-8ZF<%OG=2_ M@[PX3DK?56FW2@9IAI8]8DC-?J2.5N0DKIP<^=^$!Z&RKYKBFY"Z137BWKFP##;+RQ@Z9G M^9R.P419?(T*-RKN"NS)?G.^(.XN#<9B"=9(P>&U[ MXZSIG]\>E+7>K%YVCF8;WH*#* IB(@TD"M76%_LP2Q,"TYBG,?$$B4)N%G)Z MN3.3B3A-H&DGJ31YG:AF)J\'69^E88 #!K,XD,AZ02!_\A#$'DUYB+(DRH2) M*VT'URE\9Y>HZBT5=K!RO!C\^0ULD=J)Z:!VWS :EHQZ3T>3FNUAA8\-L\8; MXTSO%UZI8(K[5?DC9YR]>?ESK7(-/N0%+J@T^6VFHNQNX2.?"X^',/*35!H, MGT"@9#OVLC [(5P-W,4,'I=:GIC7*'Y$Y1=#(# MO!7:S*08C(.>B7&#KF.3HX"MPZTZL57:TF]_-BC_#K;"@]MAF(W-D#EBELR2 M0<>3FBES0([-UH@61F9GXGQ5,QXW5S:?:UO)V5WQ59G+E>Q*^JSY>A<%P0*. M1!()Z(58\4R%&&(>>##V8A]'68AH3(U2- T%F)M/M..,ONEN,SL=0%F K1:@ M5L,P0]-TL$Y_R@G^L^--ZX5&B"N"%T..)+S?5<0)3@07DG*?$YZ$0.#%GZ;W8 MW]QL74R[V] M F/OH.KGZ7J'7QMG9%2E^;RJCPMO"Z8(@*49X]*MXWL1,[LU'7E>'+&0PR"3 M7A=*< 9QP!F,2290PD3&(B-F<+/NYV:"]J2O8\D.Y#'W*'KV"SU M NLN1O@ZW"S9+,/.)S5AXX YMF@C6QEGX+[R"DM;R=[C52&[Z4YXN8\S1CF" M@K( (C_V8)KP$&:81ZHF(,GBR,20G>]F;@:KDQ)T8IH9J0M8ZAFCZQ%R;'1. MP'%P2-X/@B4+<'PKS9*.^ M1N8VM:6PFW5M5$%5 BDUO']_![[(_^U?\8(/95D59662@]0+9?_-RKQ-1 8GGQS B+.%QBE+&(Y.;LJ$.YW8_]J#ZV ])K5WQ]9[< M__YO:> G?ZO)U4UYC ?AUSQJL0BJZ[.6(R3?]Z-F?K2B"86MLY6A[J8]7-%4 M_N1T1?>]*PCYFN-B:<9H6[Z'B QEF9=!(A*Y^?"R")+ ]V$8D$3^NQ]2;L29 M?K:7N3DH#5WH:JK!O (PH+S<.I9BJM!&GP: 6_ 3D3+S'F7$+!) ME7?2Q_3<>)?4/$N&=_%A\XW'/>>K/U;EYKE>/>LXR\:>?*V*VZ=*=^LQT,S< MYK82%]3R@L9KV),8R,W=9E6 VZ=RHQOKK8/D\,[#(HB.Y[X%_(QV&IK(C-IK M#+4]V6Y#4\G]_8;N*R-8,=^6*_ZM7&[V6?\(2K,$XQ!Z*%4WN"2 :8 P3".! M! WCQ!-:?L"E#N9F)I2(8-W):$"G> Z\_OEO Q+GEQP2C:UX8U@FS\%BP"1Y M)3P3L46:PF1&"]F#02_UX[GWIJ-W[)'Z@,*Q[[F1-(UG,T?VO.P>:1-1 M:L*9_>"9S5-30.5KOO[GAQ7G'PMI??BZ^HHKO@C#-(S3B,$XC#%$6^([W3CK[=IF-7J.%X3][+R# M,^<]=54H]=DL/J7S#=B%)((]O6^ TAPHU4&G._C:]TV8\U].-4ZV2#2=RSLM M$^=4\)_0>4[6\;CUJKM1O.?;I,><+H3P_1B)%(8A#R%*TQ1F7D)AE/A)PCC* ML&=$#7JVE[FM"RHM0]6W ,]-V8LG:5GJ5.P;0)2\X+>\ *Q<+O&J>:;^Y>]F MZ\9YO/5L_=4H.K;/V[@ *6!CA&_JT&YJSXSV0F#)])WO8U)SU:OFL8GI?WCD MN?P!G\37_/%[=2?^7#>1W0M,<)H23Z72AM(\1.JDGD4<1DSXGN!>&D;4L$). M7W\FG_A$I7&.>&E62F!8"KB1?QEU<-^+=X#C)""AW&?YB:JT)B)(DD3 +&*< MIHD?$S\VN@^QA?9K< YQEKSLL06@JXO30[)?92CVZ(GA6TN4RS>G^B 8NL> MI;>O:>]3=-0^N5?1>FFD3_?TO"Q?.&\+49QW0;^4Q0_I0G)6>YOK^D!W__=O MRW7UI:S^DU=?.2T?B_Q_VCH7;7'7!4)!&"H^A8A+>X08]6 :"@0]XM,XI8+& MU"A"=!*IYV;M-+]S2W_I7[F-3O0IM4>E-W&M2@K\"(= MU]5674-_=))O1=._G=L7,.%YQMFBVUM=N^.+K@JW4E+^MAGZG9XWUB[!7F5( M;/GOD\@\[7Y@RF$XV5],VOF(J\/ZF.1^N5FW$G97/5X;3+%*M%):G!C=@E*CGNVH8VL'-L?6<21BYM3F@V#8(C&_W-&T=.6#"I\0DP^_81YYV<1K M*Q/47$%MKY7>Y4+P%9>ZC,@!,VMU;E:BD1YLQ=^[% 8[!6Y&9(49HMUO1]P" M[?I6R!!C!XECX[ ;%=UIV-5DP9[C(-B/_1S9P@A#M:JKK]\6>/ER0)BE:Y(N MO#\[X[-:E04OI6=]&,S2RFU@:RX!IF%5+&#EVG[TP^3"7 R ,LXP7&IT.A,P MH-;!9!]ZUGQ:/ZS8[6KU;K-J]L>:D_GPK;E-X?W LTY&_7E[A,CP;!T/AN,Y M^K#"=04#(SR,YN1YU4?-Q*.F)IM_YU78GW47GC";:XSGB_=R\U"]W#(F!WG] M5OYXMWHH?Q:+( RI$(0J(CP/HI!@B!'A,$HQ9L1+,Q:'.C.SIX^Y3=%&3-#* M>0.4I!)'H&35FZI]@/;/64LPN5Y@QR"D/7DU,.B9Q?+M9A;+'W:SN*_-2::S MAE+=O-9Y]+I"T6^+-5NQ#TO\.*9*].[MNY :7FRO M!\GU@5T//N O):R#LM"G2%Q=$WJOR5>''%=>8]75<%7=?49 M=?7Y/7_>)CSR*(XP\F'&_$P%5@8P]9,0!H$?)XG'4QIHY?8,]#.WF=Y*"E;[ MHAK+D>+)W$!U(.>;VL@ MG^XNWI?K7,GP_E?%Y1I( MEO*M=;5 .(@\%$:01T$@]SM9!E.:AE!$*.8,RYU0:E3_P)9@_9^J9.Y&9].3K 3%#22ZA^] M7P1T^.S=!DR.C'EN,_?@<%E)RA4IJ>*@-S]Z/T1)_^1]-$!3'KP?8./DV/TL#%>=NA^V M./FA^UF%SIVYGW]P;.C)0SU(]3;VG2)8,HI .7IY;M-U3SSP3IO,ZC(VPY/T M:E@<3])S(2G:*(T(3;F Q!41*L_RB"H0N M A9CEO@^]%B00(1]3V[M_0RR6 0T91&+,Z-#W<$>YS;9._' NP,NNED) _6#YPOU3+TH5Q]PTO^CI/JF^JIJ5ZZ\TW_6)7K M]9]2BL:+_0/GQ1LN5S+^@'\M8DR".,4$4N1)Q]*/8D@(9S#RXY1YE!.*C)8- M*U+-;;FH904[88&2UC"TT,YPZ1GXR0?!M95_4(0WO.*VSK$#HWU@[ MO=S'_.H3RY%(ONXII:K_XX+PT PG]^>1^YW.Y0SR#! &YX[GWA[I0[+_VJPK M=;:Q?B@54W5!\Z5J_V-!RR?^25K#A_(M7G^_7Y4_T MRG\T9K2;3HBP3,0X@U@P!!$7JG)+Q"&EA"8L28(D,G,I'0@Y-X.WIR.HRKJ\ M0:TE*+HJ7?)?U<]4Z@E^VR@._;SX'3RW*JLZ@.4V$0YO]?T/0R?5Q?>@Z;.^ M\B@[-L9' [Q5L#;#C8K@-Z7D[^K72D]POS>VO_W9C?@NW7&GKQOB6H<#8LO/ M=2'BM&ZO0Y!/O&"7?8U(*E@NVZ#5O9C5CIM!-[>@IXW9F?CE$IR)TC4@ONQ% MK-_*V@3+M:6\@)-%!@M=-,9E'?0U/%WR@89Z!SD(.L_;.:C<[;S5/OPSKMJ_ M_2.OON?%7<'5[J^]4%?.[[I:)!3[6>P)B#(B=\51'$ <$03]+! BRWR683-B M_ZM%FIMU>;=1];U!67#P(F55A'9+OK[RC'+$2(T[H'2+_RQ.)SOAZV)6-Z#5 M\47^9ED;*A6F53#P3M4#R_$ M#IU67M'R**],^HG2#RR?GHU]L:,WYV8CE6=QM _;Y]@VES'S4WI9UU0Y2?LA+49= MR>>E_0UG7_/U/^^Y_%"*"C_R16,)YK8T_3^;LL)@K6I-*H8RJ0(N*K#LB*? 5KWMB>\->&ZT,7/QS<=*SZ-W M.@*.#<^>[#=@*RY0\MZ G<3VG._18%GRM:IT'>C++70]#0[F5MB20MP5[B]<;O*Q>/G;6 M15J0CP65RW)1R5_?*Y)@Q4PO?_-6R2$MRR?IUE8+/Z(H]2F':9@F$/FJ($G M/2C_F8<12?T4:Z7Q6)=L;A9&"BI]GD9N\%R;;.D-24%-J+]MCER_:7K5\7!L MS3JU]HAU@10==*J!CSOG20U;IU[]T'W-0]YJ"#H5P:?7'$H3WO=7&M*IF.(G M'UI#DGD'\/?3TMOL<$(B>PKWA[ NO[L0#_J7.Q[^72^4/K!>ICU+B92G,XC2&*.,89J' D :^ MGU#L<:$75WN=&'-;9O\N%5%>:BG :JL36"NEP$9I=5,'G2R&F1_ZT. -I(:AK(?!Y6O<-L"V"YOBO;X:1$5*$_;P=P&A$ W(N"M1C>\[U,'(;; MJ^II)&W_XR,\VX?ZQN?CD[K>J6/O5%C03^56MT5'%@B3B(0LA#PFH?1@HPAF MJ9= CX78$R0584"T/=C![N9F&!J! >[$O)$.ZQ/."PFONFOY;(\OQJ2(IZN9@Q;^K6DX_^"Y!HO, [U6T75G<5M)I))M*1>L] ME/=8];[->TIYX$44(4@"'$ 49PAF080AP0(1QL* II%1-3X[%A>B^ M7NKHOTZ(4IEOOQOFL-D:/CU7\14&Q?7M93T>!RH=)J@UJ<-EO;6] :UR8%\[ M%3[8Z.G:A/*FC9[GY$8[U-_J=L\V2WXF>C.J:SNV! M_ZK>2'#^N8BIYZ/82Z&/(^EJ)TBZVB&GBFO63PCRA(=];5=[A !S,]&="FK2 M][(*&+B.8\9%PQMWC+9CV[L%^FX Z);C$2@E0*V%25'L,=@;./*.QV BU][) M6)AY_%< V;L'&-/N=+N"*[0^V"=-W13G< MW*G^(1NO5);8EIMNP05.O2 *8,K"6"Y?L0?36(0P#&**XX2$:<1,-A[S4&MN MBV(KN[0(O^4%8.5RJ3B+GJ5AJ.]*?S?;M@@ BU&H :ISAD%.S)4 M>QNO>8V[I7W;3)2:=-LW$YTO[!IG)IT5&O]/VT0]&J21QX(81B),(&*4PDS$ M$61IFE!" BI"K6/!H8[FMEZ>IZK_9$JY&8E.8* &L0U$+)_;2FR-S(:<)L.@ MZ_F\5J%T;#D.46Q"U5IQP59>>VZA-C26/+;A_B9UIK35/_9S]%\<>1Q127]& MV;([T1R[JZCMT\/X[8U7PF,O(T$&:8!45C87,/5P#$46XR@E?H:$D?4Q[']N MMF@K?GWL?>X^3.-RR\K :.[*W<'M>OML VGSW>PXO&QM.PU[GW9_. Z:DXW< MR&:LGK[6A!4[?Y!CQUO"GCC)8N'A#*9I$*@ 6P)3E1H2A0@%*,U$R@(+ MAZ3G>Y^;J6LE!)42T2@TT,G:GR%7X^_NF^+2TFO5!5E-TJ(NLC&D4191$D @5 M7N:1&!*Y18188!&F7NI%D9$!T^AS;F:K%;DKTMV4^RJ;>+)&8H!K^4VWC,/H MZVX:K6+J?-O8P-F*6Z/9W$$T$EL,:!T!D+7-XW"/$V\?M2$XW4#JOSJR1F5> MY!7_)%TU]K&HY,>2DV57_&ROY&TK@2*BK(W@PH\CDC+JP31).40!]B"6X$ _ MP(*1$"/*M)(5KI1C;@9+?HVQ87W(D0.@9Y\F@-6QS6HT@+4*8*=#8[%N:E-& MC^MPMWRZ#[W.KGE=Q^NPM%7!<:04T]9JO ZJDZJ,5S8WTV ?I-+>]X7!2C&02)@A((((IH1F(8D@@S%7*3$PP)IA:*> M;7UNWOU./J,4VB/(^FW\U4 XML([T8:/-S7 ,$H?'@_*9-G"^N"8Y@:?5WX@ M%?CHI2DS?\_+>Y3H>^$A:0!S^>2NQ-$G ^+\RR_/:.*U0EXHG?7)-H/^ M,":C6&=[FIV,=798M7W668VGQQ:,7G]O:/:^JT7\!UZJH;RMWN+5ZD5V50>I M[NI&A\03& O(,II!1&@(B?!CF)*4B#@+(HH-ZT8;]#ZWA5A)?=.42N4[X>OS M[#V:._5[TWK2)D.BMUES!K1C>U.7*,4-6>AWL"?Z#< 5Z*1O,A 9RU M*M)/".&6(,-]+2:(=('^N@[E9JT9&L!,2*"GUH^'/@MAO?&Q X]B^&*)B M%/+>I_JH4/>S#4X6XMZGSGYH>^]SYC[UYVJU?."KI_6=>%@QZ?GLDL4U*UY< M;F%N<_0SEKWD> EJ<6ORDU,_6[\&1@]TP]L1.Z@YGKY:@(&_K.;,ZX$S:E_2 MT^QD^Y)AU?;W)1I/CR\]]YE7WTMF/-\OO#ZWR7Y0B*Z1U: VY 6(AN>U!70< M3^HSP#B8P@,X7%6>[[C-R0OT75#J7(F^2X^..T[X6- 5QVO^CC=_?BSJFX"[ M9[["B@.^N2]?I%Z:$>2GD L1011B 4G Y7_2* D%"P)*XA$WS7J]S_22N+D# M'!-)J FZWDF!10RG.I)L! 6_=2+_KFY,&SBW8K?!A?8.!LQPLG0BH-GII$VZ)J[P9_FJ484['%\OIE#*,/>(PAU,%N()]QH; ML:OJ2H,;% O=?V=NEFA72/ZXCOR-<;70 VPT]E C87&]<;J(B-52H.>T'[== MVF]HNCW2&?$/-D;G?N\L5_1GV<:@A 33R$\BF :J6'E",I@RAB!%-(T8QR3Q MC8J5&_0]MYF]S1/M6>*NQIN%"?:X'T ?!3%$#!&8XCB!F2=XE@49S>)T\8.O M2/G*B._+\"^.N9Y3YPA'Q\97/ROW9_DZ.;G'H$V7D;OM>0X!M7V0C,C&/6EB M9!Q.N:[NQ#>\Y.MVL@0IPCA((TC\$$D#%:?20&4,,A+(#:E 04:P4:S-<0]S M,_M*P*9&Y ]>;#CXC?^BRTW-SR'_E?'G%:=YX\ZHB!"\YR0;)E.<@JUGF:Z" MT+']Z="KI7-@8"[J;BO8Y:3]:0-:+JEW$K1R\<'Q#(Y-2/S[@BEJR(4OLC0@ M:0@9]U0U _#-$V9_"F*4Z*2L3+/E+KQH(>Y3?PM!6$C)9!BUNRRYE2-AT#V M3VHK\#B>U,;(C.)D/*O]562,ARU.SL)X5J%S](OG'S0_6ZFWB[3:X.7R117K M^[NJ.]+0#AE?7^NT-;<9?'C6T K?U(S\L?[?=26?1@/](QDM2(>/:FRCZ7P5 MUP32P8VX"52CSGNT.ICL',A$W?WS(:/WS$W)/>>K/U;EYKDN!KQ:?RB,+4A/ M$W,S'$I44,L*6F%5XFM9%:7N\C^$V;")L 278\O0AY0#8Z !RB@;T-?N9%-? M0[G]&:_SN/E$;^+E;EE#/%P[K)KS^_3-N4WK3C8#-_X"),/3]SHT',_:<^&H M>N 8S=;+&(R:I&>:FVQN7E9E?TKV/#7N_.U!19]L5B\U0[)29L5 MD)S/[7U\;D CIH.CMT$P+!W!7>YGTJ.X076/C^2&7QB;,_96VNL57GXL&/_U M?_C+(DJ]+*#8AP$*$$1I3"%.60Q3GL4A\9# 46:6-';4P]QL0)L?U4H):C&! ME-,T;^P8R.&CN:OA<3S[C9$9D3MV0?LKDL>.6YPX>^R"0J?I8Y<>'%.:=XC4 M9GV)U>:>RV]%T8HW%WYX]H//<_L*3*H4S^=KF*JB\3R^ M"L,:R-,,4W^]9,1HT#^LP3]3G" _DZY8-IMZA_%GDU?H?>?7]&U_] MR*EBU-[K[FU9L+SFS.OB@+! 8< )](,02_]">#"C'H5A@E,>9H003XN!_WI1 MYN8][)1IJX_5ZH"?4A_0*E1'"NU;C9U.!NO)=0.HX3-,-BR./8+K1F0,E]]U M0V.PD$\V1!,MTXXFC]FR:P74WD7UNAZF6S*M('&P(-II<=QINEQC\_6=N)V/D&"^E3NI2/$(8K]%&8< M93 .%/E<% C?K.3,-<+,;)JR6[@^N$F72*P8;H!W?0EAIQR:S=Z)LI[+" MRZ;PR$&0ZUR:4@*C+!)!'*KUURCZ@DQS#]F2>O1_ U'C-,8/(TNJBV>FDZX@9$,2O'3 MY87"63\2[3)R_4;$&FB.;88>7N O);:EB-)!6$:%JEUN=;*(M4'%]@/7AA^V M3G'TQZI&(@H(PQB(A*(U%ERFB44^CQ(/"YB$OB^)3:CNL.Y68A:J'__ M-S_V_G9(&VZ-S:C!6<_)L(F>8U/1RU&TO@&UO)-0$1T@XYYUJ.EN+@1#!\H; M< D=OC>:U5%EM^!?K4ORAA=B'JS3LRK\R_0,[A+*:80C+XY\ MR$20JFU[!#$F!'J9EP8B]F(?&S*56,!YFGWZQRV8W<9P"[=ARO\ER]['QQG>]T_/R_*% M\Z]\J?SQ3SDF^3*OQ3&)($XTAPE@BZ MJ-3!XFL@O>W7]:$IG@IO/M#>@E=>>L=:&QI+9'NYO M4@.NK?ZQ*==_<9Q1_SM?U\S&O_+U(LT(ER:FZ%N10-_*>$T0WS.0:9G%T8"X=@":&)@/-7/:&MI4N^W/.GT/:/2 M\40]]\C8/.R/!:LK6AFE8+FX$P_%*;_;R2++N=O+=B=L?.%^JIC^4*T7T^(W3 MS:K> 'S:UO-&&8NE@:+0#U08#XDX)"F.89H%G&,J+1G3*A\ZJO>YV:UWG%1@ M)^<-V.H I?&":ZF%7G%P"P.C9[J

W:A/4C_4T;:7."Z3&(V:*8-NI[6I+I M,;"TAAB9.UWA8 M#3*\', [42Y7'\R6,K4,P>G-R=)M:[KL*T/M#O*L3-\=YYVV'N\'*??;4G&C MT$HE<[W=K*ORB:_>*ZI\UM;+D__/'O"O11@F*2%,Q0PH9I+4QY!0&L$X];TD MRI!'Y5;?P$<=(1!X6/O2P-& _3 MT"QHPS'Z4R9>K*8:!;W-@&-D':^QW1F&,FF@D[_)X^TT4"D K0Z@4T*%BMC; M'5P!H:4]PA@))MTI7 '1\7[AFJ9LD-N_+;_Q95V9\G/-O&>#Y/YRFW-;0P8X MVM6O@5B?*'U>\G MS-=XWYRQ\U9NM)C:;-5I.@G+$II$BJM7NEXH3#G,TDQ CWII%(DHX9%68,5) MRW.S1EOA@)).GY?S$*Y^*W(5"([-A*;^1NR;9W4=Q;IYV-)D;)MG%=AGV3S_ MP+BMZ>>RX"^?\>J?O/JP*5C'K8.0%P8>#2 GB$+$&889S4(81"2.!?'B.-$Z M0^SO9F[3L982/-5B J'D--OE7 !3;R-S/42.)VN#3B,AJ$5T0)?=CX*E[<:% M3B;=4?0K>KQI&'AZ9-E*O/Y^6S#UQ_O_WN0_\%(Q[=5Q>G&L"'MX#!,2U?'2 M/DQ9$L(D96F0(4HH28WJ5U[L:FXV0(E8WQC4/^P).RKVL0=B/:M@!SC7WOY8 MS,P+60["8:NBY>6.IBUM.:CP28W+X3>LFHNJR\BM$W(77ARR($FEVTZC%"*1 MJ;-30F$48(_Y/*,D,3JWUNIUMD:$JA_X3FXKUN,(\32*B8]#!.-4,0,)GT$2 M! 22*.->FN" ,F%V6FT=\VG.IR=%_2KS/1[)U[+D-P!70#/WWI95/X^26P-_ MU.<<;/UY-_H677Z<4@Q+N35ELUNUO[XJ/15[E>-GP-J\7R ]C&O $>D(% M$ON<0H(\"H.8L"A-14)B-&4YAB&!Y[;N[)5DJ&T@4;*#YT;X-2@+D#?RMQ4; MY+1^;EZ9EJ!_\$/HMZYS'%['AGF?)\P",7]MWFO5MP_=%:#5OB7L-PF4FN*; MF+9P@\UO8]+B#3/Y1B8OX: [8*[+. S*\2]5RD$75=OE'+3['4N*(Y=COFY+ M/[>T#U]XM0AQS'W!!!0!D7O8A%&8"M^#813%41;2%"5:1>*&.IJ;Y]#)V5+@ MW("":_H$@Y#J[91L .5X#=YBU/*U_-9*^?N-JNUNDZBE'PIK3"T7NIF8JJ5? MV5.NEH'G1[(P7XS=5UD;GW'5_DV%ZN3%7<'_D^/5!YROFM. D 4H%AZ!V(LB MB!!)(:9!#(,PP-CG,0M\K?1D.^+,S;B\VW!I5^3V@X,7*:<<&+#D/;QS+D9( MSPI-A[MC6Z61:W0#E.#-6FBH9!C MF"5(&EPB8AX%29APK6O)H8[F9D#OO_UILAOO@U#C9,42,(XMW'YMH_TB2"/J M4/7A97#J8 FWB4X+1N-GMK/7 *5W1][W_G0[:0TM#G; .L_;".:^J[[SE;TX M[K/-S,3"[5^G^ MF.S^5T?EFJ_7G-\]\Q56+%UUFF27'?GR4+[AJM^O_ GGA6SQ3GS(UQ0OE0\H MM^)WXH$7JF:2W$C\5"9P@1E/$R8$C&*4040]'V)?L2#'*0M$2#(2: 6%.)!M M;M9-?;5&J=16!TK#.WP]^!U;P4:Q&[!5#=2ZW6P3LN7>^*$$;WAM&6_ 5D=U M6=)H6>^+Z]- ]6^-JF"KZ^L-JU$B_6L-[V3Y]J\US*9)^RX&8B"WWVJ74U( MN,#JB"G 215/R*9TWQMG5^Y7)>6!@;U7G6[GENEJ83 MO*%PJ-GR2E$''UQ)2T9CB GED!*!(I$A+ (C,E##_N=F MSSKQ 6[D5Q5^G\H"K&O!0;F3_ :P1B?P6][]WK"PD^E8I9Y<9 +N0Q$AE5PD M?5OL<0%IXGF"Q#S!GF]2QL7E6$U0U$5_K/XV_5CI+4D.1\#QPK0%OQ4=-+*K MU:D1&]SMSY56(WOKTTCD+*U2IKU/NE:-A.9XQ1K;C/G%W@>I:5GPKYR6LJ\7 MZ=++3ZVER_[X]*PXHG+:G3687O.-:GQNRU*K!.BTJ NC=WJH.7>LB?[-WSCP MA^\!G>/NV, 90^[@:O J#$==%([K<;)KPZL V;]$O*ZAL1GDS[GTBO+_:1(# MI!5=?2M%]5,:TJ;^M64,#X#[XLG^L$'%JN5=+>8V_9YG'8Z_EK-A%U'=6P!V8G*^B$M5[Z M6A<8:^G+ ]U-G+FLI_QITK+F>TYXEW>+.?72C,="[BMC/X3(1W)?F8881M+H M8+FW_/^JN[;>QFTE_-Y?H<<6" %)I&[G 72[&X18#<)MCGG91\,7G=5.%9J M*4'37W](R;)E6Y9)F51T@#9-8XF<^6@.A^3,-T$$CF_UIZ6C5'4 3 M]=.I8&25\=>T7)$+1!W;'PUN7\L>TUBPIF'Q?:?:1:9@&/+UVO*-3FPVFUWF M;5F^$:)$)1UQ"F+,0@8)9YA$9G0ONEV;S*UI&%_T M#\"LGWL=#\Q%!UX7@?WN)UV-W%=>+;GS(ZZ36+D]VSKN=@Z'6B?!T#S-.OW^ MR(J1G%2[9*'#-**OO/'V/JL=1R@"Q'UIR4*4Q !%D &,XP3@)*$\992&*%BL M5-TXSAX-JD=J2Z UQ[)FCAW)X6Z^U:ZOUPKJ*4F-*T7JCX*>V;(,ZHR2(/=P MME@YTA@P6^4C]3N>MH:D,2!'A23-6Q@9!K,A3'HLKNE?+_F:/ZR+9[ZNWAZ6 M*HAOQ=3-=7T@LTB1*M,3,L!2Z@,D2 1(%%"0)I31+.!!A+,1-DQ?@IG:L ?9 MT ]<*B=,>,\;X>M])6\E-XR%T1\3/8MF&>*)HF%:*J^J\#9B>ZW<5UXM^56- M\L>S*)L'Q!@#9BLB1K_C:4-BC $YBHDQ;V%,UN!!P8;KITH_1?#XW;D=6ITL M)G+]5+SHFIF30)V_Y[L4(]?'X"/A,4SA.XW!R'R]G@8G3,X[KO/1!! D0$!(^EN!"P%V"<0B 3&/J2"8FYT4#W8 MV]PF^D[8.C4'Y"MO(Z\AD\P@Q'K>@S7@',_^TY@Y".G7 L461F8/:VP^>?<4M#5+FT:GG8Y[BAS-N_U/S=WI MFJ>RO%D6)7\LOJR>\P]Y26]7[$Z.E:Y;/=3&W%9=)9.^#SV(SGE?VA8PKN=> M+:97RZF8[1[S)ZZVY%_N'FX]);+\0'J#Y94G9<]?<_8B3=0@D$;>M@Y*H[SN MP88G\[YUU.MZX5K/CUM)MQF^GXKUS1+G3ZI,^.87]N=+D[&RR ME]7;]MU%(CWV5*7(P4S1VK,D H0C"'R641@F#(>9434U*U+-SRX_(2^6MBFK[K-GJ;V=H]9R'R0?,L?W;'ZN; MW1!M?MTIU2807VV/*4&KV(YPP9X38Q5H2SZ0'9DF=:&LPGCH@=EMW+S6[(T* M>+XF91W*LT@H\2,",Y RIBI=T@R0)!6 2@LML$_3--)B2CAJ>6[VM1;.^]:* MI\F/> S8L,6[" ;G)Z&:"!C5F^W5=E2]V?V6)JLWVZM M]YL_P-CCS?;&:XN M/?K/0.J0%')8/N"KNC@L\XK_P=>O.>4/?)T73.4O?%_5K30\SP')1,B# .!8 M1 !A+GVMF$4 ,AQASJ2[E6J5$)I*X+F9B9JN$M3*J&BZK3:F1ZR.AUGWE'8^ M@^=Z2_IP>W/57]EE5W=#[4?I6E$7-8Y;459>1R>;)\'3 &_M,-FQN!.?1T\# M_O&1]D3]CEMZMNSDF[NZ6M"O*IYHG:^^;VY_0IP&/H\@@ GT 8H35<@AB$ 4 MQ"%A:4:@@";+ATZGO.2_OBN8<:U4M".V$'*L15I M0.I(>>7MY+1G1,YC8:<*YC4<6KJHL^N3A*"691!/P,\RE* M&$U 2C(*8AA '$,2Q%"KQ,KL-)N;Z6O$K_/26+%_-XU*%UY1PE^-5)U MJ:].C3"+U*]S&W];'+.ST6M:,MO9J'UBV9Z?@.9A1]+5N.-%6Y5*,\YH[Z6Y M+8!2.'#W\5[3Y3_&X'PTT6CU'=OZ5G.+)P$GU1T5![3?TF2!/[T*="-]^A\8 M&=HS1.C?)N9\D#Z-GT&$*4(@"=(8H!0FBB 6@3@A/!6012RA)F&TNAT;S=?) M FW%2Z621Y[R5?[T\N0MZ\N$YXW4AA$XNB.@&63C %?7<30:M4BJPB--+1*+ M83*&4-F*A-'M=MI@%T,PCN)93-^_B,RJ*3$B^^F4&+PGR_Q[4]L'QD% 62: M#T.Y?<\0!!ED#)"01Y$0-)8[^A%,5L.]SLVSV$JK=M3;(I?%5MXK#QND!IH- M@)ZML@ZK8T.UD;>MAJ2@[=8/O>] :RNMC"75^H8ZF5E]/@T\S"ORZ30ZELRZ_*'^56>$KWC9! R4U3I7= #J@^L5V_]# MY\GFO+ -QOO F__*_U^^L+JF%_VASB:_XHI_%(+3:A'1))#? )0&*A3")^# M+(,!"&D4I#B)HS@T2N:=5ORYG66HZ<\V8JN;$"KUNZI_UOQ$&S7KE);U%H3Z M.5_J8>9?73ZVBD-C7;(6X>4>-^\,?]-QH4=M&T/[= M_%*'V#98>"T8GD+#:^"PR3C^'L-HC;]\4N$G9D-_CX$YYE9_%RG&+:;2'BL) M'M;%:\XX^^WM/Z6Z5ON4RQ6;JH*7M,I?&]J_-@\I%I"IS"V00L+EJABF( U\ M 9@0/D.4)6'DFYQTF8LPMVUB;:9JMG'1"NWAK=1F"]>( =%;?-S"[/KB3KH- M-E@70B?O&V2G@[+:SFFUT.HB7S/4* 24WP>( .S>@%+8VZY'_@ MQ1TOC*_YNZ_-S2ZIZ^Z'C_?>W<=[H[O^/2BT;OO'HC#!??\& /M7_GTZC[WT MWVMKRFO_/B4.+OY['QGG;31A/2H6J%A);^=#H8[%%X*E&%(? A+XBLI7%8&1 M&VL0H5 @)/PH,2MIW=O+W.;F)F9P*Z7WK9%3,SU\&%$]C^!BG!S/7G.(C-?S M00@L+=G]?4RZ*@^J>;CP#C\\@K>+_?E8J.:N_\Y+;:*N[DMSF[L=EI6JV L: M_I+.=7V=&(.)ZEI\&0'K@4U=*"VZO^.*ZMO9:F(]?J4V"/3:OW@5&^ M[.]R'F\2ZC[PDJ[S.FC6N(#M^9;F-C.5P_?[]?7#EFNY([21"WP.02VOV")X M$SC*IW!S4%U6'YNQ#O6YYJ?TL355/7"[==]R4/6L4UN[J;"548A10C$0 6, M91$'64(S%23"_"SVY0\C#]VH][G9&/W:9U<>40HX*H%V-$I)B+!0%9T2/Y6C MQ.(($,818#%C 0E%% ;"Y*;2W2A-<-&H/TK_GG:4]/9FSK!WO)"<+UEWWYT? M4]:M.X7:%,7KCOJ>3P6[4[ 8E;$[V8@Y2^#'5:6VGTUV]]>:852V^D>%JY=R M ;%/HI2D((EP !#E F28Q0#&@B8B]+EL3I1EAO*ZW7B*M/ M*3B([K!ILHF9ZY.CD7 9\0_J8#&*CG"PX/N;FTBB9FFOFHA&V M6)G2MO0 J>>/7 B/X_F^"T-MQ/-^5@*>=N/,*5I.JV^+FZ6GAVE)64ZK>,3& M,O#HR,*/Z[Q8;\GGEK@L[[8V08O( _21% !6)T;BD(,"$(0T)@P M&A#YCV^4;F4JP-PU6?;.-U2[_>.?7^]E L M<_KF63TENQ1"6Q4@3;N?M@[D2'".JD&.;6=$PM8'7&%%P[F)KA"Q()RE" 0\ ME'8LXQ!@1# (,H)H*,(@IK%V^M5^VW,S4:UT!EDZ!V -6YT+(7!L4%K!SL>A MG(7!(/5H/!P3)1+IPV*6"-2O^&!:S\$KTR7I],NZEW)SXI&15/#?^8J^[0IZ M;[Y6$4%IY@<<\(1$ %&A*FJS%!">)B@B"4<)7;SR-2FT*=Q[.S+Y%G:[9-.: PH!)/*'"A$"CU*63I8L4KYTAN"[I7_YW1]9,Z3ORG=D8V%8JVZ0]IC 4-Y9*5,2)=: YC0)@( 6(L%D%( M4BQ[,F&.OT"8N5GC1A=0*^/MM/$:=>IL[)HX9*O/KFS8I[RD>-ED;G_!E1KN M-^,J1E8&6,]H335LCDW;.XR8.>N]!:AML>%?(LJT+/D60#MBS[?1IBO6F6LA M+9SZ,GZ2DV/AQX'<0@0A"!&F .$4@2R" L0"8@I1Z./4,L_,7O]S,\R//_B: M8R6A;=*2?=@UCDS<@NG87)H1^4G+J?1H3*32Q"WXMCEB1@_"C%AAQ@R& PZ8 M7B@O9WW9;W9F/"^].ILSN_0W8QZG_O#Z_(CE>J4;C=X^/S=3_H#?O-=RCY9O M5XEPR1Z+A&,[/ B"]ZT6UU+P^*'VHT+$MXU,%@A^*'8WW/OHLY'% M3*2!KVG5/^C50AIN5WN U-N$7@:/XSEJB(QY=8F3RMLJ\W#%3X MX/23Y@OE)REOL>*J*N,K7[]]>.&/A32N?[W@Y?:>^EX\XK]_XRLN\JJ\?JIT M%]4Q;<]MQF]T\%HE//;"E9]YJ(<*0I>:>*TJ9RES[8S$^?7<]2"X/K)RA;^1 M6W )B*-*J^DMY(_U&V<^7U7.NO$BC;<+I%N9F MMQI)O5I4Q87XF#_5\^;+W<-MQWLVJ-,R@-YY*V0'.-COKYIT>2NKZ45?'$UU_YL@EL_Y$_MY?6<8P@Y3P&099&<@^3 M0I!2) #B28#])(IP9A3K.]#7W$Q$*ZJW[LIJ2(4Z *W>KL828(Y-PQ:K/3$= M1 9HP&&+K'.@IVF9-<^K?$2#J?&*U9JMRC0]KO&*_N#WJS96,DI$E-(D!)!# M#E"4$) B1 $G$6%)G!$>:<77CNA[;K9D(Y\GO3DK54Y[\=8\)G&#HNOSD[X* MH+M:AE=>B[ 4WH'9&0&:V_*:O3W/H0#F$"2:)2H'FQC+6_^<5W+7]$_3U8N< M\W\4HI(]*9;\!97>C0B3#%"<,8!B'($L12F("(5!$$0A]@,C+V>PN[D9IXZT M7KD1TV/\E2^+YWJBT:)4)P8K;E@\Z@SJD*7,]WD(<,(00+Z(0<:#"*@TLBSA M?H"841JI1=0GR"A]+]0UW4YK6+KV/#LPMI)ZK:AUR)9-\GD=4*R1Q0]V-C&Y MNX[BQV3L6F^=LNC=&ULY+W9EIO'O&R?19&2S'4HD4U2]CE]@Y5#)(FS40 -H"C23]^1J'G&D#_^ M+'EI;PY5160,7T9&1$9$_O/_^'8R^^$K+E?3Q?Q?_L;_D?WM!YRG19[./_W+ MW_[X^ NXO_V/?_V'?_CG_PO@?_WT_LT/KQ;I] 3GZQ]>+C&L,?_PYW3]^8?U M9_SA/Q;+OT^_AA_>S<*Z+)8G /^Z^6?/J]_$$S(BQ^[^.[RGU14 M(@:GP3 50!FC(%BI(2?)LO)H79#_SZ=_LD45QI*"5!0'%1'!A\S 6*:%MHYY M;CZ]_W'SWK=9BGNL!J^D^KS1??+%)8;Z3^)%T_//@3]6]P\6-0OP1<@.3_^&V5__:O M__###V?B6"YF^![+#_7W/]Z_OK%D^/*E+&;3Q3^FQ?$O9R'B;//52<;I9//) M+^)JO0QI/8EHN,C(0'!.**0_@HO&@N,JJ6 5VI!OLE[)7A'=&X6L,/WCI\77 M'^F#?ZSBJ'_8R&4CDSO+G=UE&Y%^#'&&DZ0\ M?-8.G-:6&$H"O3V(A8=6OLG-=5V_6*8?%LN,2S(M%TN'9;JC]YN@/O^)'[^$ M)7T0I,_3V:7LRW)QTD*'ZT5CB9ZICDC_VP\D@8++)>8W9YI[D-$-EVLROKCY MR7U1<;J"3R%\F7P@H6-EY.4LK%9ORX?U(OW]Q;?I:A*]TU9&!HFE! J= N^2 M 6NT-M;GX)Q_!!HEK.*&ZO.5SO"!L_7JXBM70'F2F/'0TD;/BR&$W@%ZKM/_ M:G$2IO.)89$;KS-8%2+0%HK@R=!#]%JC#@FUC8UA*G*7_Z%N9)=$:+7>H&!)Q3KDL9[@P\'DIQU@(IX?3/81 M\H@P>>!4IA !7Y/974TY:EOY[:.6M$**>'4(.$O#((/EYOIZNO_\RG>'OIQMGVEJNN,D24G(: ME$**N7B]JX@\,1O097E88O7VBEN!0C\;4!PDT"[ \!X_36N2>;[^/9S@A*ND M56 %G#2ZAE@:8A$"F%8Z&2U$,(MNA4HS#,#Q0&"[0(8K^=IL20#MQ'* M)E?X0N&$NIP8X>92(K6!C MGQELVHF]"Q1]#-]>9Y+4M$S/[H3/[62V&+0I"B2Z!.1B)]H.CI&DDDQ%1:;P M,*?UT>6W0HY[9LAI(>HN,/,B9]+(ZORW*AX^0>U3\%Z#UUR W \GSRK;JR]'5J>3QJVD91'QDJUB2^6 M T.^([GK!*3%0S"\MQ(PZ*8D4Y4=Y$ INK[@=$IY/@O4@B8Z, MA@^83I>$9"[BQ^EZ1DAFN>1H"E@G)2'9<7!2"!!6\B@2LN(/0\/M%;=#P_/) MK!XDT9'1\'$9:I?!A^\G<3&;:)3))Y3@@_-TF*D*XT" IJ..\5*XSX<5>MQ8 M;CL@=",@4*3@(RJQ M0L+MS<+U5;>#Q/-)E!XLV2X"C9>GRRJ]LTO$BG!2R>EJX@6+,1&NZ?^!A%(\ M^$2_!"M$=8F%S.H@A#RV^G9(>6Z)T0:2[@(QK^?T:2&MIU_Q55B'<[8F0J=L M3%*@>:E\" /1NP+%<86WT[Q#RW]&@#27>!F'HQO7P9UOAIL?P^ MR4JK'(,%7E" "IQ,I!,,T)1$DS&8_ MG:Y(&JO5!+,,WI8" K,&%0UY5XI<+)E]LD4RBK):U(#<6'0[6#RW'.C^@BG7@0DG@403!C8S6MSA> M[EU\.Y@\M^3GX7+N BX?/N-L=D%]P.*T,1:"X1281;=IXT$PC#/'43)O6MRH M7%]S.W \GTSH@5+M A-G_3J;[I\/GTF,J[>GZSH?H(;P$^ZU1^?):=*VWAZR M31.S@%QL]%:J$L)A>?*G:=@.,\\G9]I8ZGU@B(2T#+/7\XS?_B=^GPB;N&84 MIVE69:,-0LPF 7[T?LD@@V'Y4SN778[I#R??.KALAW[RNTL"/MENDIA]K\Q M+"^*](O@7C$*X6.2NA8E1(@B&F":V81,"\$..WH>6GD[B#R?5&L3"7?2!G'% MQ"_TE=5$Y^12[=]P#$DF,29PJA@H11>>(O$@PT$@>6#A[3#R?'*O+>3;%43. M&G[.F$ IO,S.@3*:F"B17/ L)=@DE$G(XZ'E8P\NO1U,GD_BM8V,1P;*"^(@ M;[B8A4^3PJP*R,D#Y[7Y7+((/I8 +"<=G1'$UV&)^1O+;0>(YY-7W5^6S4#P MSS_>D27Q]??]1XF1$S5?8:8_K.A;NQVHF#1CH]0E>S&59G\PZ0>)+!6F ,:VR?&#AM$S 1E>"*G&\_V."J M$6>;#8:$!Z=7[2[N#J;+/#R\VK_VJ/. M=E+OTZ/.=I%U#VBY.X7+"<^-U 4TKQV&UN8Z@4=#*,I&&6KUU7_#46<[Z?7I M46>["+DOF%Q,X4(G!3*2!6JI:BD$!XT(3 DX+;N%Y8<1)LB&!^%TKR@>W0T]3[PN$E!)V[)GOI< M-!-N-] XOX.X9(*AR8Y\,6!96%!"%8A*T5^9EG5T1BGQL>*D_1%RBY!Q@7*( M9N\%R2%B[@ K+\/J\XMYKK_]_)^GTZ]A1LRL7JQ?AN7R^W3^Z=_#[!0GEHY> M6[@#@>1@*4L;RLO@P60Z.C%&PU/S<:S;$-8#E@X"P&W/I;DV.H#8*XSK\T:# M*:Y>? W363V_?UDL/Q!_/W]+L]-:7O$BI>4IYDW!,*[6%Y7"BFD3E-$@3-VA MFF0:K2S@G$RY")=]?JS491_H'43PN"Y2>T@>3WL=0)6XJ"."5N\Q(>T^XO-W MO.0E6BR^QA NL4A2]!(\LP8)>,#"Q0%\U3(PGH/@14/4J-D,6<='RW'.=BM'V<, MY8!F:&_I[@^-Q3K,1G2U?E_,TSF_,@NIZ50&MDF[Q9P@%*\@!HLZQ*#%HSV3 MQ_.VKFCNP>%J$D\>57D=V+%WR\477*Z_OYL%VKOS7".>+S6'0^?^Q&@L+#,Z M\'-0M5"RQCA*0BF%SGUC,/+'IJ?N=SH^3$\/SE83D#43>@< >DNSV80EI4(R M' P!GJ())HKH0-@ M7V'MO2UDF=T9LFQ22#**0#.W.-K]L)6,640DE[Q/"PL9C$B14,"[\+TF/R_O_YS-B@D.Q5%$J)B3X$7@ MH)W(UKHL2VI>WG8O)=V Z2 ]/W#U>H#0.X#.SR=?9HOOB.]Q5EOP[LIJXG11 MH9 87>02;IYT7O! MS_=KF5'!55$Z!^"^%@Q(6^>0. H8"OX\5F[:6U""S9!$IP 3Y8 \)X::+)2J3FA1P/4M.-BST@NMJHHJ_S;F(< M%AL,R4$7!3G;FD-!WB!8W"UBBZMGPW7O51 MJWF=XU1M*\Y39:5$"C)55'5,%XFDMEUY[1,D$5E0+,886L=FCY#3C7<]'(Y: M*:,#^_.(A$@NVJK:P>)U.'N1S=5W/;44%'H*HZ)O7=]ZX'7;,?SOX5#52!4= M@.K:B.JS=E!5)UC89 !=?1A6F$"',HI:,H5>RC&0297T1,JKZ#:T> MF_*\5[;Q?E+&ON8?!#8MQ-X#>E(Z/3G=7-]L H):HKO$SSA?3;_B62+US6)5 MB^O>EH_AVR1B4LE@A!)K(A4%AX@9(7N6G%&>&39 =^PN)(X;N@V%M@'5U $* M/RXQK$Z7WZ]9X<"C=5Z1>!1G)*U4GPXCE["(H'@J2FC3.F-YEXIQX[F!L'2@ ML'>'BS^#RQP_;6Z)6P#F/:[#=([YY["<4]RPNK8_7F&9INF:@M.HM;(:4&I) M/$GBB0D/1N20*< (WK1NO'Z:JG$#NX$ U5@9'=BCNX*:L%)2-G2D)U>[QT6] M U)U(&'RUEBN4Q:M"P#N4C%N!#<0? X4=@>)I:="VXD0 A5+GN#/>'WL05!( MFS)([KGA+$GGCEV#.VX?R+%3E8>KI1G,CC%5_[*T>;4HY[=(]-V;K!PP7O^! MCQ]NSOXV_#0:N'_F3%\N> E$8W7!(!($K^L($2P0 L5U:&QFCH*^W+R,_@%2 M#O>=ON+\%'^A35G3KO4C_V.Z_OSR=+6FY997$PA6*Z3_Y1I/T/&MD$<-TM17 M+ *YBC%OGMG31>0D QGZYL[4SF2.FY]J@9R[KM6PNNK UWJY6&VN ,YG]USU M])1"![W2 M 7DEM!#J[ZC%8G+E+ DECKW/E#M(R;P1H"6$VDW@EZWI;:[[DY MXW'Y=9JNAJB\0J(K33>:HC_/<*.R>7YQ4A^V_Z_-URX2NLZM M(V?3AU0*23B*]E=_AU(]\L#W)NBY!Y)'5&4'X/V LUDUWO/\6UC^'>L-Z+E$ M)T6E$I2VH+#49Q8H=/:10F?C&;%H,$G;_.+P06I&'AL_!-@:B;X#$+TG;1 ! M=:#L*_(69HO-G)\+9GAMY1&V'@H20?'B(13Z)3J?4M%1&=OZ::A'"1HW.S\( ME-HIH ,T_8IS"J]FU;#FD^E\6N6SGG[%"W:LIP@YU7WAL&9F1&6'&$NJ3NF/ MG-G<^K!\@J1Q<_2#(*JE$CK U+T'^^K#8I:O'^JWSW(6K< H:CZ"9*>XB>"2 MS2"TB\8Y33)HW<6W%Z'CIO2/YXDU55@GJ+PNN8E =,%X#[K8F@TD(^U$XB!] ME)YAT+:D@>/-.Z4D,D)0Z5=0]PJ=49OR_FBYNL7)S<0GI>K'(@,T%>"<7K M:\ .TR @:J>!#DZIB_F_-YBHD!#8*B)U+M SX4=O;A!F,Y/:4MGZ]4ZS.ME^=G&X(+SJ*(!DPPCYG2$&+F! M9*PRQN42>.LTU4X$;H>S9U6O-9R"^D7?^5ZZP^,D6YVE1P="^7JDD],7H\I M!MMX;1UB:5W#L".)VR'P615V#:FD9A@S=,)FAYJ72EQ_XL0[,G5@KG#79 M04RU+<6J0.&)1M#,>,=D9NC:]P!=IZ#/ N==]'VW^6=O"7=P(MZ2R)OZ#ZHR MODU7DXA>.U0.>-+G3X]$'A.P4+S7Q3'-VB?H'R1G[-$-^VOYWKS2X2+O%SVO M%B=A.I\XI@HJ0=Y@L1*4":*^UT<'B6H*]NSO]JW@],>.N@ M4&=U._49T=5O6/V^260A4EAA 9FMM:R>(@RL#2'26S0E8&[>MW.'B"Z!LX^" M[ZV2VE?:'<#EX1KH-01: M>ZUT +5['@N++@;E$T(VU2PSYL%;Q8%BWA!#,3GIUK5\=ZD8>[9:L[CN0 %W M )$7L\W/G"=9?PJKLP>/"?,;?5P4($:7;8DR0I">HA4N"W'E,I3,,23#@G.M M)Q1O1UDG*8(]]7][8%I[930\M/[Q5AGL?7AJE MM"]7?%O.#LC-;.([L_:N.B.4"D8X>T$D>"2WMR+JN+L3'Q=FUU:4(;4C$;B>>V1&@.H:N._#W'F+[C_D2PVSZ7YC_;3';O$9/$565Q=OY!TRG MR[.!9,OIJDZUH+_./[W#Y721+X>W)L4P%PP0F6<4?!D&KF""$@Q/TFJG9&LC M.Q0OX]KK48"YY>8X*DHZV"WWB."2%55$EN3J@RBR/F-$$:2WP=9"E!0\23GI MUGGF1\@9>X#T\0QW*YT\V]F(]XS%'*(DZ*'IFX-7 SW%7_NHZ9%1GDPSC]PR MB,@"^;"&K*@CS&9IDL@8A92#Y(ZQQD5!RQN8Z1ML784"I*" :%X!);YQ) MA;O8.MW<4Y%0>RP\43*TB[P[. MVD#03("VGJ-"%X)IC9U[">D$,X>-WHG!F7;)+)"&!> M(2BM/84;&$'4YXXXRMHTT/H*ZS&"QDVUM8=/.^GW *6GGRXZ9PRY"H6.>.!9 M4\B9#4*H;0%D=M4A0 MD$)5)54 C]X#.L.0.Z61M1[\<#\EX\Y::@^$O6$REFQ3HZ43@-F8YI9EC1QC4OH7Z(F$YN)!L&\P>)NP/<7*?_LO)2 MHZZS4SFWD9#/$1P7##*/DJG"O#&M!W;?I:*3$/XP]=Z.R0Z3=0]HV9RK&SY> M7%31!N-44G2FLEI%ZYT[,[VHM9(NHXUJ@)NS6U2,_!;%@7J]-W3?6\A]P>2G M'R>PX*2+(+E+4M"?T+1. M)>](8B>.S9Z(N-N[/)AZ.D#?M23ZW;$U7%(@*)D!1N+($\PY "9;F.82 M(QO&\;F?GM%[G(<#PL-7&X=I96^$?=G4P=%>6JX;'81W'H8UWFJ9+4(R1H$* M7$$LUH(U*)34R(3BS0_"O5[H';+5^6B8.E #?2'I]6IUBOEZR>;9/ME\\^V7 MS6RFG[_A,DU7F"?D)@J#NH!D]5[090\>30&>F"T4ZI;8?$##[E2.WA)]7"0. MI\$.3M4'./SW,#O%^QDD/IPS%/1&4^\;%7DGD94"-N94HM4"<^O!I#L3.7HO M]=@(;:2_#@#Z(O^?T]5Z4\#ZZ^4T;8J^2>!_$!^KLZ/JS$!LBOG/OD"R_QB^U;?#/Y^UFZPF)B1# MG$G01M+!I66=/BO(+A#GSHD0&+]5J'RW]/UP,D9_>&-PZ!Y953V"\NQTNLWN M;2ZMY<5Y\J2<];6P*7/P(4L(Z#6B%%[>?EUA!T!N1<+HSW",!\;V*NK EWBY MF'^E#R/]G6?^SQ@\^S*QSR=>"8?>9DBRSBZUB=RDD 34T=S!6,0P0![I":)& M?^7CB,FDEOK9'7#^#'!S_%0+X3X.'62=<7=K][VH4OQU6;O\,T.N@R(6L_;$ MK/=U[K< 4YDO.D>4K>MJ]Z-T]*=%Q@ZW6FJR SNY3:,T\62%#3F#D)+$F(," M[YD :UQ,DCD,HG5CVS9TC?]:R=' V%Q-78P*N37IA&M%3JT!8;"0?(R#P!D' M;7F*1N>4;.LB\#TFS/PEKG+V%WP7N'GT)DI$5IRFX)VV0GUE&LE1M2)"YE9X M[9B7S5M4#K\?_$M M1,78VD;M>3W(_SJW,ONKH"F0CCVBXF58??YEMOASW]E]VW[Z<092/,!-^SD4 MEPM=CASPPB?&*'Z4#@4H+Q,$IR)P8[W)+CB1!GN\Y1YZ&GA-]3/?+1=?IR2Y MG[[_06)_/7][\>KYB[2>?CT;(G0Y=*$4MKE3-UD'4$D@^$0'ON&:_NR++K%U M>=;N5'92H74H@N[QM8945PA(Y$& M4SQD[UW*OA C@][Q-N)CW!*P(Z-X="!TL!E>(:VC^)$\O(VNY_G%21U3 M^%^;KT^<]=PZ4< ).GU4X )\KGT'Q7I/47H=GM\8W-O0-:[)'1\]BX%5V0$\ M+V7UIH9\[^M+HV\+B?'%:H7KZXQ=S%>700:TW(*05H-2Z" *(T#S($*4H4C7 MNO%H5QK'M;'=P790%7< X0T?KT^^A.ERTV+Z.2P_X6K"K!)T=#E@V2$H4PQM M2::!%S\EX];:=@?'!NH:NR#F:K#O;XL\+=.SAW;>ELT&FZ"W MB P-B80B2^6# VDF]MWYZB:=RBU6XP M.8@*.SAH[W]XAT2DK*I;2^LLR>.UDBQW*& "><"LB(*\M4=X/R7C%IYV![\& MZNH =)L*B=])F"2Y,TE>N*G*2FEC-"0;Y#5V]==ZWP<23T#M003T;RW=+I' _7_C#YV$06:2305/ YJ+EH 3/PLGDF6Y=C+H?I;UU\1\)G\V5V#-B-SQ= M'3MGS#',W(BB 6NA@!+,@L^!=B=C46-FV3?/*&Y'66_=_$="Y,%*ZAF!%\?! MN_!]*+ZP(AL 3&<^<##U+)X%OIB%.9QLW>\*\X3QJ#ESK#$I:"<$+8M5&[KCFTN?6-].[ MT-=;F_R1$-A(85V"\I.Q++VN/8(02FWC3U%#R$%3W)=S%JQ.D6Z= M[MF:N-Y:WH]Y !^HJBXQ>,[3M<3]A:U'C"YZ,NZQOI^HK+(0@V:0G*1(33,? M=.O1.3N0UUNW^_$.Y ;JZA*)-XLW+C;9]XD)EF<;,^B<37TTW$! ,O-D^VU4 MS#CG<'AK>#]QO76['\L:-E!5GQB\$6==-_1%&\-<( &2BULGI04R]"E"5EEA M4?3M8R2['R*OMY[V4<+B?=75 1*WKU:>Z)B"$D(#R:IF2G6 R$F"3*&39/4Q MF0%ZC+>D;MSTS/$[%X906K,'J9O#\?7\*ZX>$&3$0 X&.1U,\T(;NUYT2HS M L_%"I-E;ITQW)W*3AZ1.5)_5BMU=6 ?R7Q;+ M#V&&'S"=+CK M&6(6QU-?/YEMDF9"S*M?2-R5J;?E"39MC#88EB'QV@>.)%*7G !R7-"D^G:A M:1W9[$ICETU<@\%T2 7V8$6O\?=;6)]SLKGM/-N?+^;Y99C-5H\Q/C&RN%RG M'U TY^L=0 :ON8'DG.$HR(_2K1W0)H1WZ9L> \K'474/^+Y]S) 4R!E??W\W M"_,U<5SG;WRI/S)AP97BG*X%)@Z4L@&\\04LMQE)ZM(T[^W:GKIQ+QO']@W: M**TCM^"2P5?X%6>++Q\69?TGJ6*2C8\E1 M)!E>#3U=?!.3@R.$WO(3BF]+HV'N$)5T!+$[CLO9I*'?LM5G2Q M>KTRF.(\IM3<+7R*J"[3EL#F# M3AZS)3N?R/>0(M14 >KQ::^6%HW5!Y]5UJ[S%0.AM!C*+2?^&9[Z4Z"BESK M)"%;57,$FD'(T8#+.G.C@C.I=9W&]M1UF8(<"J,#*:T#G[*R5?]?([:O%+MM M-N+%:PKU&R_F^>87KOWDV1L,=VM9TNRT;MV?OZ7/8?X)W],.^KD4)"7D:%$2 M%.9^-;>\S# WFP0.^Y 'D7K7;R6,E! M#%]5] HN?/$<>! 4LH3@P6W2X(;[8J0.T;,E;5W$,E"*!%S%(K%U@W'6Q$VOJ=P9,#LX_3NI+TNGAR[ M*;0ZLNQT614R"2K$&%"#2%G4KJU"3#@2'3-"H.$FA]9/JSQ$R_AG^[C0:Z*C M3@S@_KY+]LBC"0QLK@^MT78"YYT#;TIR6C/TOC4@A_=(!TOKCH_:XVF[6=ZJ M\4MHO]<26UR4GTY7TSFN]GKO[,YG-'G5[''*&KU=]G;Y*Q M:_MPTS3!9KM9)B:0^W23V$U M7;TMUS<;[;U'Y?V11/P3?<;?)Z((G>@_(/>4).&?PG3Y2:(_PW#BDS\6?7Y'@9OI\]O M8O;VYZB1\;M6WXI-WS6UC^'=>U7>ZL7O]*#35EA,MUF,X_+D.^'--Y1=?5 MWO)B\^9%AB1UI$U=WU K2 Z%BRFC]2Z+]J.UAN%E7,/9#(UW9\UTH/I>S>KY M4)_I?V&^:)PZ[Z/:/'.U6*U7:":UUKS(M24O M@2L5QRR3 ^.8)XQP"C!\-B +EA0(UKRT-J./4]0@];SY].L?/=\4IIX25"^E M?\]V0>=,9MY"+HSVL(EUQK%#,%I8BNO0!],Z)[ WL>.:PH:8NBR?6?4]3=M]']/()7R"OD9&Z]?%(O\YG7O%+])=Y#=CYS-B+2=KGSUGL%? ^]%%-#-E6 M=#8R9M>;8LZ;:#8>WU7-2PR9.<7!*4TG5Y$.0J&#+#J1M!(:C6Q>1O0$30=? MRC[P^;_B')=A=@5ZE6R)TA@PHBB*3.J<#9XE(=^'(A/S4;6VW=O2-G)M2DO4 MW+E%'4(]O=JDS>#@O4S0^;]L8G'NHZ*1@3G[Z$M@%*:,K$^?+Q!.B/QYN#G:]EB4T]#:S08XPP!G]#I.'K@1AG- M7F1@+G^UY#/O9Q;3)' MV]+;SEFY6._%K?7N\8ZMI0C?8@(Z&.J-D6"UYMS1&2&]LZK>)C5O%]R%P 9N MS-.+76T0%X7)A650WGI0P4L(%"@ SR)&+7E.K/5%Y&X4CN[2#(2M>_R;H?36 MJV';#(^X.ZE@G]**^S^I32G%%E0VLF17BGY;'O)W-Y,+8B7G8LK!53M-MLYG M03%_LJ:6WSARM$6$B,@X2B><;IT-/HSB0VW=UJO_='WU:^D+QEE6]8E EB0H MR1E$RQ(4Y8K"I+A2K>M1#B1Y7&MX1'S>-H_'5'6O]O+:LT;[I=BO_GFCU/H# M]#0RAY>??\]1FT-FC-6L)N.\-EUEB"9*,#'4-R-BG;_;O$;@07(:/+5S^Z.O M)32 BL4IQD8HR6&_D "\O/DC/Z*]R-\'$/:_GM-% K\;C M/7[%^2F&\V>:7\_+8GFRM\/UR*92J4LUH& UXJ.L'0III;9'78*-.Y"!]DZ\JD+4D[O ;AT66N]D(4BF/P M%..X6!\QJT]\2\6@Q."-<](5V=KP;DO;V!4&[3%TM]1@ "WU:K&VJV$?OB)_ MC,K\L2KT45IOK=(0V.8!.H\00^T*D4:+G(6BH_6Y5>C?6N#[V:]7>X6CLLK4 MS<$MG>Y*T>E>' 4)@@3ALD_H6QOU[2CKMNI^%Y0\4'7?4BD==/2^6TX7R[.A M9.\QS<)JM=G:&UWE_W-Z5BO["E=I.=T,2YUHKHN428!U7-;R5@Z^) ;H1% & MI<#4>J/M2N.XW>8#P6]0174 Q#]6=5;^:CTE;QE7$\>8C]S69QJ$(F?#U^GX MK QY!(RZ6UNG1*\2<&XS=\#@>@ (7< D9_#L>3' MVKTT8"1Y_OE'C"/OXVCX*)*%X 5+!1*3M7@0B&1&"3 M@5#[E(6T/)JB?;2MRTSV(K3;&',7#-TV<<.KK%<[MTL#]/[6;H]5CM[>/:#E M>[RM5H;"5(ZU$H=\-_+A("B9P3L?%,ID0W:--_Z03=Y76^GAAU ID%[,TW0V MW:CTUJXJ3FNLPQFR( =%)6-JS;>$*+W$H*QRS9[HJ>]L7%RN'8Y M8E1*-A_[? B]X^;J!H/LT538 5ROMN=[/.N[_S5,YV\6J]M^2D%;1"@:K-:2 M_*&P28TGD$5S)X+45K3.SVQ+V[C9OB-8SH:JZ0!REP([Z_ \=Y_RV_G[>B L MR2W?W-9=@:&G!Y<3!1<<51>-%\-;7 MDL/,5JFBOV:WK\G]]F".6R:<96MC"0$DJ_=]Z/-9DM61(3?(M4'%G\+5OHN/ M7<#4#!H7UNLH6ACQ(-V>OU].Z[34%R>+Y?I\:NMY _\MQA'19%EG3%NMR(.@ M:,L;X4 (GZ)"+H/-[>"W)57C1A>CXG((O?5ZW-XS*N>0'.%#'S;46)\!3\W= M!K H,D^2>;);+"$H7A/)UDA@Q3FO>#0H6N?^CSK4/1S0#J/!#F+; M"Q87C[&XK74/WEK&,8+T]=T[+24X*SD4X[.V3!136L>]+>D?]_P^/JR/KO-> M3_0'9D;M?ZH__H%#SKD:\'1_3='Y9)Z]+<^-?]]PO-6 =N76F*,D,=HL$W!;3*TO00@A2O#!VJR# MQAA:=\ZU'G)%GU:WP.V3DN<8$B/TY]I;;XN'8#P'G1F=D\(HGEO/D'F E*[& M6NVB[[MCK0X7]=AYL0T/9SX7N7YOIB%.9YLB@]N79C$+SS6Y>,*2\=2JV4+\K' MVO=/(4.]^;(J1.WJ4,GFE>1[D#GNW7A3VS2LBGKU8.X?!'5 S?ACGS?@Z*H! M/9X#!P2A]E*$H,#7&9 J,$ZG&R:0KI0LI!-DRQIOY'$'6%T% E>SBZY3L5'@ MVTTCXNI%6D^_WMU9 06+COP [72@G461B'>.=I8ILMB8M=7#)5;WI?I9C[': M!:4/)UZ/HO .#O3[.#X7Z8L_PS)?Y[@6N)RA8+4Z/3G[VBWN99&6"V*<6;HE:\]N;SAO4_YM/U M0WL^FR@<"1^JMP2*%W+7,!G(F@?RHZ)D:;ANHCT('M?7[0+D0ZNY TP_Q.)9 M=]5#/ K'@Y<1K"\:E!(:(JM!J2ZPWO'AXY MMW^(]^1G#CPL;]!"TNW&G=DDDL':1AF,)6AX@H;( A()*EM.7VS>2'.DD7FT M2<.G3TO\M!%U[0W8+'N[JS1XE9+SP!1ZLNF10\1B@#:&)D^>)<)W^YCV:<+& MKC5MCYY[1@8WUD^OIFN[60!7U1&_X_ILWNF7\]DCKW =IK,!)Q]LL?81IR+L M*HGA)R9(AMZ8>KF+FY>1@@.?&0.F(QW7TF5SN^RWXXD)CS;=OZ:(#G-M5DD3 MEI&@-R+VU9ZF,@$R#)H:5YE%K:1MSO2UMWX-![Q % M=1 '/\K;V]/U:DVN^7F'7IH4U%'+P*$P6:_P0X3(+8.D8E&!.#.Z=2WI3@1V M.[%O,/@=I*+]\;=8A]F0^'LUG9W6+76;QPDS0GNA&:#)#A3)%&*]02A)Z2*( M/=U\*.2.)'8[\&\ ##914S,4CCB/Z,HKOYQ/4A;+U8WY) <$*D.1SB CHSV2I16A]?WITU@A';B/OTSG M89ZF8?9Z3@(ZW5R(?INN)BBYM$H8D 'IK$$A((3Z4 3Y(SP'-+ZTOO1[@)21 MRS5:J_SV:(T&\N\ 1A^78;ZBE6LYZ =K4X M"=/Y)+%LM3 (Y&@H4#PK"#H',"Z*9 ,+(;3.S+2D?V3CUP)0BTZTVP&R7RZ6 M7Q;+L,:?%I7Y"TOP&U8'>I)-MBKR2CUYR$I&#=$S#X*C9L@XUZE]<]8C!(V+ MO?%P,GDV8C$T:P:Z2N+J"WS9C8-],YOE[CR6IBG)59^5 OS2TH1MXWA7(9 M NJ2<..UWG1C]R6C(T=-F M5QEU;#U&=5B.QG4\!X3B3BF@H^*B@\N?V_S?DDY*IR>GFZ+17Y?$W1_SY;4) MMC_5Q'%]]'BBH[&H/$)VF[B5P"ES%EI4K(Z;BNRT.4 MCGN/WXM+TD2/O=8>[W)S_2*3DT7KU?#[LD?A2%?ZCZY]]#O\[25QC$O[H"1% MFEJ!3760%1<,HJ8XE FEM2#\I^8O8(]W:7\C0+@_!GAPP[+ *0A('%1*A6(# M:R"J8,!''='D7"0V'U P%#,=%PCL@L<#HL,!E?^7L-:WJHNN/<83O[_'FC0E M*5VT[UP^Q',DW]^UD>8P#(>4@M*T/RG(DJ*NRF3%A('";7;8N!]^Z M'67( ^%A]Z]:BW-I7R_S3#Q8:Y0 U.0!*EXX[?+B@85B;4S1&M^Z_&%7&CLV MW[N@YZEHL*FJ.LQI/,3?!S(',[S^NMF-HVOSV,^UAX42\A@WG3H4_ KZDRLQ M \E!1^U5X:)U!>(0?(S<$9;H38&3^=OY_B_,2QOL#_AJ9@@ M2P'K2JC-N_69&!? :I1<1.ZU:/W8ZN%4/P^8#X>\/;="(Q@\(^!O;JF(X8^? MEXO33Y]_F7[=\+ZZR;Q.FDOA%91ZBY=7(6:>[(/:.,799FJ6+J!"%.!+<L%"&/VWI]T&5KCXYZ"U0? M0;E_K?D752RKEV$VJS][I9ZC#[]X@HX1)U_L(J%C7)@RQ73BB""#J2^T4=0: M9!U6B8ZSG)ECK'FO_LAC+W0N+DI4D)BD[1D$600;(Z18K"@,;G'LDZ*3QM2G@C2)R?!2%,N>N&R=SWZV8R]V M4OF68R]VD7\',&K: ^IX"*I82?Q(3K/0CCELC;V__MB+G0 U MY-B+7;3; ;(?GZ! Y!:CC 4F&4G588*8L@!N-8;$L[:F-53_NXR]V DG.XV] MV$5I'2#P@6D*PM21F-D!!7T4CO'Z'*DIQ)3Q11:?@S>MK]'^\D,O#L%< S5U M +9'9BC8S',10H$L/((J3H,3*@(+G%@L)FO3>LK*?XN1%X> KI&ZGN'("^2I MY%00LBUU=A&G$$[) -EQ(0M+N9C62<>_V,B+0\*6X735@0U\7'COKS5U3Y@+ M7ABWJ3ZPH+*U$!U/8+,016>G)VZYS0@8G@D[JRO?EKEWRT7"3&OZI-1 ME:7'1%J%,8F6.,E>0_*'4=]6Z)7R[>9ISGS7758ZQ/2*"8G$>0+BA0R08(G%EP,EJ.C!ETK0/K M)H0_IS$/K7!\'"TW!/>(-]N77WRQ6N%Z=?ZM7-\SI7^Z/']WY5CWVSM2<_1; M[D.D=8R[;JE###%K",C)D[5:@C/&@W"E,&,"S[+UK+ A[[IOB9NV\)MIB-/9 M>4;C3/AOKX1//_#[8KZ\H8NSL%:8PC5Z!4'E4D=]UKY780$->?)_GM9D\>9BCJDH=*#C1^5:'UO0 MD(@S@BY,Z2A+S<8,A=>'R>H$B<<%S$.P;:2]G@!Y'T,7^6A1[\&D@.R9 X4V M@@\J@.0Q"(L81&A>^O$T69T LA44'H):([UT"K75Y8X]OZ200=HHH@&M]3E/ M@0?BR: NFA5MV6"']2-T=0*V5F#8 FP'::8GM/WT_?*/_S;%)1'U^?L;_(JS MLRJ8R)*)S(/C(=<:9B2Q.0N>4\07T: 9SCE\E+)Q,Z3=G;>M=-@3,N^-+B_Y M.]_7$@O/43,P7"10B=B,(C$HQ=!_V29=6E^R[T1@)Y:Q(4*V,8Y-U-43%E_/ MOYRN5QN)\7.#KS(&5$6!*0%!U2>QG*8H+RI##HTV,8K!IHW=):<3G+4'P4-P M.U CG8)+7+!2=$XI<+"!DV^<:KZ7\PS)!H.92XG-G\MYA)Q.#MM1P+6/1CH MU\NP^KS)ZZ\^__R?I].O8;;)]%=K[Z(U FE?2,%JA5V*$$.RD$H)*?KZPE_K M3.C#U(Q[F=B'']=(5QV@[CVNULMI6F.^GZ?[OWJ^PT)0+MB2@3M!(D0*UERV M&;3+P@17HE2M[Q$/H7?<$[<59A8C*; #L/ZVF./WW\+R[[C^Y72>+[APDJ-P MPH'U](MR28&7=;*)DSYZS8)K_A;X_92,"[#C(6'17"T=@.N10F.O=%#<:? I M2U"UY#B($J 8(4*@7QVV#AP.K L?S+4;#62-U-,!T![L7_,Q*BUKEXXGZ9C( M*1CB$9R4QM@HO+3-7TX"J"';5G?1;@?(?KP#TCEKF<8 +"I77]*P$.O# MN($5J6*)5J36/N%_E[;5G7"R4]OJ+DH[H&)\/633*@G'F$C.""+6=YB%WK2Y M@66TO[/+6$KS4>%_]:;50Q#70$VC0^W*]R5I_KKXBLMY%<_%R]])>7)T,U! M%4%I\J_)_)2@OU#CZB' :Z>T#@[;%C[YF\O:>"D%+1$= M&&\4*!\*>)TH#@S)*1:UT\W'GS1E8"N$Z[]X?#0:(CK8#O=G.>ZI+IX$$:Q/ MV8(M+A!C-D'D$0%CD-DJJY1HG2+?FKA.;J"/#Z"M;G,.U687_6)[CL3,BGG% M2ZDS/#@HQ,UP? 8%?.4PQ)WI27R:-IWV+P(#'/_X*\#2;;:*O7B;LOPY?I^JS;_<.B MK/\DY;RJU2>++]7+KT]_K"C\N_93+QN:K$1P?P:45>OP!3R<;-$,)Q5?&L*\+06H!EWVF>6F6F=)GR'/T73Z-?FK1!RU[%LJ(P. MSM]'^"'/XO3D=%9G<9R_?[11X 2M<2':"+7"I8Y@8N1A2 E&Y6A80EYL\_&1 M.U,Y^I7Z" !LH;!^IK8\PNCON)[8DI-A+H'518"*FRDT* "-=U9PYG3VQT,A M432NCS@.XG95Q//V_%[D/*TKU;1R62Q/-LL.[O,]NNH1O;WMN3^.GX?)BQKJ M I949U%AS736)YJBSZB%Y\&WC@]'\_,N9+^:Z)B012,ISJJE!58F^E.-LV@7 MH] $+=^^;OQINKKV]W9!RB['[5Y*Z2*'^!A7USP'/A$Q!10L@O.Y]HBS.G#( MD!!)E,5S:9DZ)MRNT]:UAS<4Y/96SJBPJT?.8VR]FJZ^+%9A1M&3)%%Y+( V M1U".)!B]-N2Y.E9DMIJVV5/'ZM:K=>VQ[8.@8>3<+$KM+5WWR^GZ].:>^OG; M%YRO1LWC/4E4'PF^W61W'(_02R,4T@F<=!5HJ&^9V""2DYH9 MDP;"'"T_;DC3'^9VU<@SQ!R!""7/2@/LO+AMCNNKI[I_F<@D;Z8 MN)$VMLXZ[$1@NY?='E''6=-%<2)8[@4$YUA]EJ'0'J3=*&511@4KE6M=B[ ] M=>,&PL-AZN'7W9KJJX-S^1%^?OK^6_@_B^7+65B=S1W"Z((V5@)CG@(L7E]H M)B<;N%V. QN MQRZ-=#)V1N956(<85GCQ#'L@IT3S!-J[VEZ5*+@OI@ /S#",%,_=KK]Z(-%R M\W-';GH[ BX.%>;8./B(Z?-\,5M\^GXQ^/W&QV+"P<)- .#IV/RY#Q)"S_7AOR-G^I4KDP<=H6FZ5$X+*F M?91E9-U$ 7(=A>"^3H1H[8<_2M#(\]^.>/"TT\OX-7/OPG(]O_\,S;0I..T) M\)I+BE"4!1]R!*MSRK9>>? G,V%/K#'R3(QC&:)&0N[ )/V^F*?%R1=X 08HD1G YD=*:?Z.]74"M@*0^RL :'^Y MCPB:U7(]>4]RP4U*3)H<*#BP8+(SH!BGV"%*3>&D45)PK8W=ZMZ%/O4:4.AO M5R"YL>"X4?K Z>O]1=L#'LYAS C':)DD8X<$8YX3!.812F+9L>)1XE9-@=L@ M8LR,W@'*NJWN/20WLL+_ Z>?/M7L(V5STM*'30!'/#$!OLX" M+2)DX3.37+>^#-B&KG$S?N-?B^ZGH+Y!=S8-1G GM>4:*+PC?A0Z\+Q(P!KE M)1;1L^8O8SY!4[=74'NB8'N8[:Z2OB'VT+R7))E,J!1DB@!)?('VJW&9XL$D M>90J6GE$*]?E@)XQ8=A";?V,Z7F$T5JCFI/S7#L%J5[L*< EQ_K+"$5&5W1U>^,V--#V5$VO8P;NJ=1N/0AJUR6&JD _^HBGW:J#58E, M9HI(+;>9XEOOP2NEP6"]CD,G66G]*L91*\ZO>P-OR^WU)D(9H:5+$%FH>7VC MP+O(P7A!FZ$P7YH'KX]3])PJRW?!SIVIQ^WT\HR,W%;M*$.,4!F,EE$;=T89 MF++;'F%6)JNY *=D("#3'@E."#"&PI!D.3.I]42]H]K7?;1S*1Q;O$R",RC: M.E Y,PA!(R3:Y4)'+4+SJ;>'T/N<;/,NN-LAWFFKT\Y30=L._9"AY@)8(4:= M)EG+.JTU&Q"!M""%,TRVWN,-R.XV9]D88SLDD890^+/#^.]T3G[\$V=?\;?% M?/UY-4%79$".->_8[N>8YH7=GQ3Y+_/ZR.%U.F#%6%)4! MF3:@(O'KN0I0F$J%6Z9L;)UIW(_2;ELT>D/OSFH=N]_P818K5^G6Y?&+0LM> M\NEBX>A% I>0=BK+N;:MR/K0,7%IB\YXR_H^T!MT !'=]G@,@\RCZJQOPUKO MF3W:Y$A>(*RNG;V,CHG@).TYB3Y%;S$>T7?=]MI_C,:0T0SEKFKJ=8+8^0.H M/Y]\F2V^(YY+[Y !84]\8I-KA%VH;G094$?(T2(;8C?-CG6JW(I.S N@\9 R MEQ10RY3J]*5@P$>%D+WC2EI-(7;KW.!3-!U\I7HFYG\/:;/$R]-EW:X38V3, M@FO0AGMR95."6*> 1^N9]\R1Q0VMKU+OI63D*=4M$7'GUO1PT7=PSIUS\=-B M?DK;\X()5B3RI"0X51LNZB\!ZR./WO#L Y([&8?!STU"1AXQ?03X'"#XL3WX M\X"%P49)U=:H=G;RJ3L,. B,X21L@.A>TYEMYYP\L,/(,Z"% MT4R>G6#B7?A.GUJO1]^N/^/R@I.,VG./$K3,EF( K\%GYT$8FSA7WB<3=D'& M_"DH++ 4,%*\F"%AUMS& MP+EIG:-ZDJB1)S(/>1ZU5<@S"Z9:%[SNL\R08=?1"U^?A"I3N0@M=.WLEW42 MKH$H@@>NN6?1>!Y4\S>=!H[%K@[N^JF<6%2">Y7IW*[5YZX4(%XY9!C61 M+$@?Z10W3I+7IRTGAEB$F&T14F6A;_M*#0:%/$%4Y^'8(7AJJY!>RZ#?8!C@ MM-OB4YL<;KM2W^@L.U_VLM+>I)(P>4"394U7!PC&"- ::W5.?6^GM5]ZDX)# M;<\;7*T0-Y_Y"E=I.?U2)7C6 )]CH@UD&4BC&9G1^N:S%AFBSX+7/;5AQR*+,%"T+H.4^068DH(G*1E MN9;&B=:]8D^0-&YDVMH_&$(/W<#J[1=G<\]07 OP)III!.,+98W.7J/<_PS MS"IC$Q$XX[%>H48ZAY75$GQRC"QQ\2P64:LT!@#8(R3U:+K:H:N5+CJ UNN3 M+V&ZK#G!M^7-@OBI58=GM8;_AK/\RV+YQPHG6CDMA5+@T=!^B8'VBV,-1!H-C(K#,P8F, M-:2M;S0+ Y8'%HKV/C>?6;0SD>-6;1P'AT/H:^QBLE_#=/YFL5J]G?^VR-,R M3><3BLXYL5ZPDCB@*\2))^_!":M <8Y**&FCWJZ8[-%EQFWS&0([C47;@=6Z M"?&+F]Q)$"K)6@.%7-;(183Z (VJ;28V[JWT_)N+TY0]J?!I+O^ZK\ M:O15K3Y8S"M[B[-=)*,M2 M7\W8DJ)4=D<_,;"6>,WB<9,LV;J_?@"2M;/(L^ 0(*6(;H6EDG"0F5\F$HE< MQGE1-S!0+:T&EE$+J#,I,,H<@$I:8K#A1.>_D^=\47^J!BDI94)"@ 2IE!T9 M-*#,!F (#O'VH1%/ Q^MSATB?;F+TH&KWE+>;V/ # =@$ MK$0*#$.X-I($J#2;B$/#$),.&D4S(^3%)DK'GK(!9!A[*\#'P\:#-AQ3JH"* MET1 @V- :4U3$W\GN.#&Z5;OZEVM86L\C!@DRH:'?NRL-6M]PYAM_'336'\= MWM+SQWGZ@SV1MA_(Z(?THFD<+\1ZK"R+%L+*U/XEKL M_N_!357E_XP IY[L'S"-9S4FFB90>$N--,!;Z:*+"*.3[Q$%T!GF5."<^=SI M(J]LI?1;U]C(Z<3J"B;K[+>GGZ-H_.;%^-UTKN=VJF>?FN5TTYXH>I?+U$?H MEVF\/\B +),R=0\*J7&00D 2A@$1U.!X"9%1=8YZY+7?>^EWKR,=CB,)\U0" MT]L4XR<1^/7+W^8O9HQ/M_S2*&'J/E2.>IVMO;_X*-%O_+1HJ\N9K/F MKU3M/;&0A-1?"UC(5;P(>;V9N,:MI0Y(G >)$ MZ<>YWTDLE] :00S@.)6F6^F!3/4@&A&%I77*.I8/MGMV4C9@4A%02T!1X$ A[P'4D%M-Q @SU2H;M_NVQ^=$7^9'^)G) MG%@D-;?1O!N4Z++* M HU%=$/2W!S*'"8\]_RYMGLKFV5=G>WK)*H*'FSVTO7;W$V7MKF=K[Q[^[>- M?_7B)OUNP@TR2BD.+#?QIA:8!8I[$CFI8, P..UR)R3TVF@K<,KS!F<6(0YX MBKY>][4=\SF:I?:#RJ9;F8RLDQ("HT4 !!JA(XX,1[FGP@QYCE8GC[<<@BCM M[VV"3^]O_EPT7]?/F/=QJ+OD'\D4PP1#X+F"@.+4=-*2R##'3! (0OR\Q/<5 M]^[@IZI*I^KSG#("1^O%QZ-L'HHI1@$AP(@V48EH #*U@-4WJ?-O"/OAQ_T]S<3%?KS^FY2ZUT MXA'EYW98DGZ+5;-PL>ON\[6,O_OLQ?//1K]QUBS3'+D[M6=&<@$YCNHHD@6/ M_H,4S $G Z?26,VS5\ETVN @D_]IT43'9O7MWJ%)W]/+6SU;?7L_CY])5NJ3 M7[R/'W?)2?R6 H=0#X87$ M7GKO6+MAF3EW5;PS_4A0>W+"%!-C!1&E2S^]H_#21_N01/LIVAG[;?L3[RZG MRS\BO39)_CIUIHC7/:]=/+Z1 ZG- )":2( #$0H11:W,/7.L\R:+-\ ?&;;' MD5X%\+Q7R7?-XLU,3V_6'-W\A_OOV^5JTU-E70E_I\9WJOMPS214*(@E 38Z MB8 :EZ8!Q%LGE,X9'2^<1&>//N78>/$):D>"\?&E7/JRV.K(^=G_F=*CU]W1 M_C5=?;GZ,EVX3SK^LXOEFV:6BC$7>A9Y]MDOODZM7TZ($]I@J@%S0@$:(O72 M(0BTLBPX*R46-I\/T7E_Q2>^5>--C"O:6F^XGU>-_>.G>*5SCV?$K/_TX[K; MS85=3;]&E@VX?77^1I:[V##*,MW,'E#\,;PVA.?SEZ@K)FWT[J+],)7.&4&U MH2F\+P#E 0/%1/PM#C*5#@7_W'@,/B6'[7CP(+"T\@NA72P6J:_X>J;0MX>_ MLOWXQ5]ZX38B77Z\72U7\>H=SF'$ZF<8SB>/@RC--U/6J B9P$C MWJ?BFA0)R\S'<2@I>_D[(II?#"TK#XP*?.^,7/APNVZO[Y$U3&(#.';-N[S*OI<56C+/^-? M7"W?SS^M]_7/1;-\?OE\M:[GV\7D;<;6M9D+Q^YSB>HLP2ZW+7+91RET8(]-:I"49@,=)3>SJO3E7_YU,/+NXO-\]N= M ?FTF%J?9!;N9(:M<(I%<5&* $7< J,534.]A/+6H'A$UJM,+:DLZV2=QUU] M#$#5X&L=AT.3(*(!A$P#(4AJVF)-FJ 6@'<>&@8R_"*HDL523[ /0CTC>V405 MJM#)0K [A=/Q$&ONJ&_''8,1LAHCD'*>H]5B&!@%-: !4>BD$]+F+DX^+H5G M$P$Y";T<#WRGH)J9/ GM( T012<"89P:V N@>&IX)*T77$K(GY=EGY7C>@HQ MF"J4L0#<:HK:F,.L,9U9L^E#%O_\;I#Q[6;H+)YP"PV&T;7'+*CD1T"@,6- M.R^]HLKDKQPH0&;9X[)TW*9B2)U6#MT'O4@%ME^'C#EKN?*(^7+[J:@C2PY* M;9EE"@ADUGFA"FBO+"!,2>Z%)D+D?IHIG"6W+=/[&/I[JU=IYM.$J:"AMP20 M:!ZBN< ":&(ET#9R4+)(M\T] CG;YD\Z%ZX+9E_8Z2+BK^#VL=EY_,L7?T^7 M$X>,]EXZP)")1T?<,I#$:R"Y)39X+!3+K?9/-E X!%T&!$TNB50 I_Z,>R![ M[C[-=#PE;_S/3?)Q)I!QIKUFP%O(T]A?!60@#BCCG)6><8YRMWD:@XZRX!X MJVSAG$PRK@#G;Z.KV7SS_E%NSZ]^D]:I1(ATQ,NX$*E'@U?Q;BY#),DCA*G& MUN5^'WQU,Y6_Z(V.DV8,H56 OOL9(V]F>KF,QU4B:*W7ECMOO4< .AZW+PD$ MDAH7[ZJ1:XX:)%SV7-K7-E/X[:J*PSR/I"J W./]WZDBU4&DTE-,)08T,@,H MR @0#CH/&8,:YJX >KF+PB8NCWB;K+RN 2W-S4TS7]-QL36Q2$F/*)7 0!H] M#AA8:K$6[;CF D+ND3"Y+=/+711N]#%0KL]A,HS)%<#D=[],U%84T*X M 1ZM.6$\,)[&PY@3X@GB*=DS,SX>?;[P>VX59U5?:=0#I*U2::$5#9X#BP1* M;V0/*T $*_HT5I14FN"+_[CW&^- M)J-26A@D("J8U'Z1 N.P!H)H)[2PE)DC/8SOVEX58.H#@G91@\$2.0FP7?W5 MW)W0PBD(O0#0QF.:RDBD<5%!G0O<8R4$\4?*C-JUO;)7MF."K9]$3@-L:?[) MECC,',+2(6 ]3&W7HSIIACC07B/%'$0X'*E+P^X-EO6[C@JXGE*I%W*'4X9^ MF<[]^WA!CHX(%,P1)P'TJ04VC10KZT*D.)(:OPBU.7I"Z,%=%\XKJ^)2<&39 MGS+:]]2M(\V8% @!O"ZH)%0#::,SCJ7FABMEM#Z7%@?U%0CU1.(1VAET@44M MFM$GF6W]R_:PO4Q9;,M'O3J)IB':)P-2+ET\#%T\# -V 'F%N9.86#2*;N0F MY$1+=3)J1U%H5* ?J66_39E*NX6Q;>TY05838GRD2@D=;[<6 @DQ!SP: ,]) M"$CF#D^UV]F)%K7D0? (PJL DO=/WIL&F[MI^]#,OT8-]!ME7%ZE*5J/?YX2 M[SXTJW_[U:6WS?5\^C^12X^:FDP@8APS)%,#JWB%IE@#);$$G!%O H3Q)IV[ MX]E1"#O1PI(\"E$?=,Y9GS9NX;MFL?VC]/?0)'AK;10@X# 5L!'+@%)$ Z(= MPU(JA7WNT/1Q*2P[(O9<-6PXF$ZK+N1BN;R]V1B4[)4A.]8>L3;D$"5U5(=8 M%:1#-@#D2/3+24@!)41 \(B&Z DAX7(7K9U+=0C1!%I%'1 *04!#:M^OB0#8 MA%06R;P,V>O]?E2'=,3L>-4A7<1?@;OS-&E<2&D3GX RW **XKXE%#CRT4F& ME. \Y$YM/LOJD$X@V%L=TD4B%>'5()U@=HSJDBXPKP/GKA08*2T&IC?S4/%YWC521LP9&1A,-&4W3 M0W,?_]]3=4@GG+2N#NDBM K0E^%6&ZE2FDH(H(:18B<(T"(P@'A B&&=@C.U MO%=V>ZX_@7J3(>[!D65_RFAOT_-M_<.?X_7BG9XN?M>S6S_!C&M%TD!!&Z)T ME$9 *FD!9\H(;[QCM+8V2AU)K/QB*P"B)[[YG1 MJ#GY=(3!6E,>)+6H2R[[<<>)WYM97";-+5U;$*HAD1K#-%)( ,H,!VF4+L#> M"N@982Q4, BRE-"JP"& M*@((]\9H)+G"U0Q':$O4R:N?_S:?KI:CC7YN M\[$1\Q8ZTUI'(D/PG ?E,4#,NM3W)Z7$, :8UX%)QJUV)+.].IM$!LH]1O&6 MA7!*?%)FF[B'!5<&"J^0XS\2&49(9.B"V1$3&3J(OP+7Y^G[)C6(("L M-%0'"62*P3DI!,%$I&#"CT2&S"#8F\C012(5P&F4QTM'.(+(14UF\9=(??MN_B*3\?BA1RC;<( M0*$00#.% $,IDN1IO ;GCIKLW5#E#U>CXZ492W@5(#'#/1@I1S&5#!#-+*#& M"1!/*16])\BMX)XX<:(]"$XAJ6& JW!DV9\RVM_^YS;>N-_/H^;?KJ7R)ZBDRC)+C]0E9B0**S\9 M,N,WE_J,#Z;O0]6V<\RQ=$83HD#4!97>JATPTJ0A%1PZ2Q4ENII'IJ[$G:B" M'0'AQU?&'G [GB[423E\Y)"0> K;L2JHT2SOVUWB1:5:^+47C!3Q]S2$KFD><$<(*B&*-M M C(X!"C7UF(QH*U25!#)@,5I M\(_&&!@>?0UB"326*041/CV-[<*"$[U_GDRP=30XGO75LSW[)D$@(;0A0&$! M 151]$9(#H)U##+NI$:G$QMJ3_?9QW#'4YP*C4 G%']W\=_#["-0\4"P M'@ M>T!11(*VQ$>'S2&)'<3X9 /$>2Q!?2?X=V4)QL3S63L"3\."AQE'L0Y82*T M0MP"%ECJ+,4=D YZX%! F,%@*#J=%*DNE)]]V/P,3,!H2#YK_>]PEXKV$9( M*=#2.$!]&D222K""$X9[S+SF\F2T/W-$X)0C]&>@^R.A.&MTOUBY]0<=.;R: M?O5'J;=^\;4C%USOI[:.BFOF./:()-5Q.+V#Z73Z"$ -$XS'_S&5^WGD7"JN M/;4"IX:\'AD%J$42*(4%"-H):2BV*GO[[1\5UUTQ.U[%=1?Q5^"W/2W$5 +2 MX"/C--0L.9UIDELJ:Z."0X8LYS)WIM]95EQW L'>BNLN$JD 3J-45S(7#0'"A$#? !(VT89)8S8C=1Y!>A M6=SHN?4/?[XMX^7$$.&( EI;&R\E)@!ED09$.0B1H(I@>,C#[?GMRM^+1P=+ M,G9'F\5"NV L$)1P0%$:-480!BB>6M!19O#S M,0<=4+GGPV4@>10$'$);+G%4#K6G+'U)*7,&<>0 T3Z-XR,.&"TY8#9Z31II MIWT6X.W?1IGW\]I@F%%4I4&YCWW*&4W1 Y6)S!?>59VS;$H&A@8)0F)*P0B1"46#B_0U IXA4R@;G<[=X MVKF1RA-\CN6ZY1-60<0M%ZO)9>+<^O[%O8'48PE$(-&J0B6!\2* X D)7!I" M:*LK;5SU$;KB[QZ0]>2#Y]*?ID]@I3_G:X#+%N6(*4.#"B">N-%88R>!ML$ M+ *-YAL)J%OU0FP#F)).^@!A/1=W#\X5%OBOT_GTYO9FN_& E.%4:6!DB*82 M8A;_"V)@+/.M4:%54=D#D3SY:6.A]1-;DX%]IP>N_'VV<8B@,,09PG.Z! M6D8CQ^)ED$ ;&0 -LZI5%/Z0X!]_M,P!D4WPO?E7@0^:,@.G\^NUP=,F[A3* M1'&J:<*61&>&1I_H"T];25P9(3;8&F M+FJ!]S;>R20#$CHL./&(9)]A^F0#9>/.O<6X&PX]>%H!(%[1H[6B1%V*^O9Q M?F=Z+8<&X31'6+ TX2XR2<(T?D+C(%30D85'F@FR:WM5@*D/"-J]G0V6R$F M[>JO9DL:BWX]1T@ RYA/16\&**$=D%)AQJUG%!^IA_:N[96]+!\3;/TDTAML M7_W"-,>#6T3.G2[!X(-#) #."064< ^TLO$VZ83F-,!X'PC'!]S#!LMZ7D>% M7$^IU&OANO0L4%HZ([$")(C47YG#R&7#03 HI&I?QG4U;2=^Z=3<>KS:DBJN M!4>6_2FCO7,[&QV4%4X90%Q*1F): RT% QHQ! /WTM+S[IY47[>&GJ@MUA&I M"X1.6;BWXM)=!FT M4HAIHYXG:I93FAW[/]%. (658R@02N<]]7>,([4V_O?'L'63%]=^]2B]YU>? M$BXF@EF&&<* <0L!I3Q>!DEP(!#'A*=&!Z9;Y4Z-O-$3+8(?AO[J$%"]-KS& MBE^]3L5GZ??;OK=0!LYM//H"$C@:@:C_4B(*($462XZ9XB8/\%OOZ42+O8^! M\7'D6CV<#ZOV&[W\\E,SOUUN?_IQ_GX^74WU;*/NRXF6FEHE.9!84D"3VZ=( M%(R0!*;DLQU$+XW%Y]NYVU K,X,S"/*+P*(/GVYL]9\\W[;7G% M*SS>D![_ZV.X]+:YGD__Q[O-Z;2N M6/&A6?W;KQZ8]+#2YA\]CQQ/@B4L8.D!UMY$;KD #(VNH%4(1@Y&K]#K$GHT M!K&M-$U]SYI6'&+GK(L;@_6N66S_*/T]-$$41@8(G[)Z":#.&F!,8 !S:R%7 M7(;L#7*.2V&[-S_X0^V.C:9LNE:B4]J&4V-W2'OZE>-U1MM#71T=T5+>$S,L MO8?QZ%\9I("Q&,;?2LFTI$AES\P_FXYH'BO,)0X9H\&G'J)Q\US$XX48%$\;%9T[[1 C MN8.TFJ!UPD>K3AI=A%5S#4B7FVYD8G#&*L"$,X!*&8#1\38I== P&!9O MP:WZ*M27D'\*W3P&. 5'EGT%%O8(V=2/^^A+"+5,N6\0!AJY@SW0Q) D*PE# M/!35L6KT1J*P\C,A,WZ/GYK?%TS?AZIM45G/^?">U+T= >+$ZF2YP^^ZFC4Z8YE%42 (.40#412]8!1P \LI2CI%D M\E2'B9YHU( L)WUD?AT,N+$>&,#BKY,=&*B\*R50 K"@"?!.8&%L.9T M_,ZGM)UH=$ L'570K51PKF_3J\U5R>@BR_\!1:B8Q#OY4*FF3I..F"D MHT!9C1F4A#F6>R!,7>YI?=5"YZ2-0^"6=?3=0%TTAYECGC.G\V# ^V==A8-' MG)MHI5R296J;0BP&.E[Y?11GM&>CG)!'I?)$'=:,T9EZ0776[FB'29T82D2- M0@ 9#0&%)HHX4 B8LU(+HIT*1W^&K67>[+AQG8IUH\:1LEV ^MV%?0ZSSU(I MA*0$:(@B^WQ(??$L 0Y*"RDG4OMJ.JGD)KZ"<_B'LH\+V;,^SI]>^ \SSD=; MJ3B*;IMD:8 -9T!3S8!!TGL.&0L\=YYO-<17$)_ZH>OC0O:L=;V#1\1-E'&: M>\5H>@WSG )C! ?>"80)4DR=T%-/9M=]W)C7#PT?#:A90V*9:YS>S^-_^BO] MMQ]2P[1CE2PU2H=VEZD&Z?XS#X4=]T@-*HTM@Q&:7$6/S3@-)(T.G%+)NENO M \WM>.S9SE C?[_TMHO#3W[NPW0UH2A &B@"0:-4KJ>BAVJE!!'):0RAU:'= M'*L^5#[=2MDH1BXD/+=9.?A>16[OVQ"\74V_^GN*+J-=?-/,5]/Y[71^_3': M++TMMPZ6<@1MFI&04O=YY!?R'"!K@F="<&1SQ\/;[Z[L_7DLF(TDG5H+="_] M5S^_]7KNUB?Y^_FZ/5Y:=8[M$Y(12*=#/NH&5X!J:(YME1#1H(DU.9N0K)O/V7/PC&P\MQ@ M99-&X4F!GQ:-N[6KCXN[Z=VI=LT2 16.UM4[B=+ .Q'WKRBPB%%+*74FY!@8 MN.O;Q>NC,TFUR*$ M8-7JBM$.)R\W4&ZZZ'"9O@3(0 :7[BOZIEGXS\WL=NVE;2L O98L^H$*(*CC M_JVSP&"%@$842\EPH$H=6[RX\(?*J\G(O-+"7\>6/LUNEW<,N9O(1 QA M:3*[9")Z[!P'8%0\8@6# 2E$K&&V%0!>^4"Y,;,C@" '$TL#87TG>+9_*XU' M%(9H"'4\.&$$L@J!)0L9N-*40QA:@6#'XF6>F$8"P%#F5? 8\XH'](!<)L2@)7!P#@G %$TX,C8>(3FSJCKL!U/UG,,$6()'951=V'\-46[/) 24H"B9QFXDPH:E(FPCI0H!CUCD@",571E4X6<23XN@4Q+0;RQ(G<96%X*JCRQ M>R!K]VE=0LP5@+R%(R2P]2'RDMC(6A5-@I90 <.ULSS0X&UNV)[PW64($+.* MH@)H[3ID?IEJ,YU-5]_>W"X2LR>6FDB6L(!0(U-5A0"*6P%""%H91J7./E6F MS;ZJM'4]D=",+);:H79OX.^:H$\D3-$EI0"1,N4#NJ2E:::YL-&[X9(+E#M- MK-L.J[1P1X#?,%%5 ,16SL3$!^P>LC"/LS.)Y;A\:(;HV#=@RW8_86.3.R]^4S/ :,,&,AK:\>? M@=#G['K2ROVW^72UO/S\VS;;(O=9L^];Y4L+1T+/@>[YNUG>V_[/!N?T[-I? MNK)N,U7B+79C_I:[0/)**D_7->N>4I\!#$,X72\V$MD/WM$82#GPA;J'NQ\) M-^VD4!!%CW;W0$ 'C.S[]W5/1,^%@!8%CVH-V_"X# MDE<\H6,XG1UP46ZP]7C.9@W2CY?#[?"TF_6E\#Y*T_L"^_J*&;;XZ_S/:5KT M*EY4?XH__"/+-E^N6N39]: L[O#4BB,%8[%/]N=77QJ765[/UBSR2ME/6KNY M48FL/L7/KA8W<_=NIJ^S2.KIBD6>]7K):2@EN/V\*"_#^3)W>>/>N623/\'<]&ZQN M^]8M$BSI)+H67*E!\99O9LW27S7WVTT)D1FU[\#Z14(>W56P'9>JE>=(8BP3 MHL@DO4J$]G[NIE^G[E;/ULGZ0P3U;*FRE[+]/&\.,:"T*LUF#_O:&>?KJD2[ M%BPFH5=XWK1C0 5I2T\&V&>.NCU=N^QEN946[65*=F$=.ZM^-U5=^]4."4N6 MA_O;FS]GS3>_"85O&NF.$G!^_3OE1R$<*>A\D-45P&&]MXL_X^?M=,V*R]1* M>?GYXO+S*+ X_+WRW?./!(_6K"_MP.PZ/>*)GBC,?QNX6[C(T]3P^\ SOM0@ MNM_F;C'[=OW9V]O%=#7URXN;U7"Y[5RUU>D.RTMM'TMJ$-G;OQ?VTV)J,^C7 MPU*MA%/!T]H+XFN0R(XA$(-%TWMDQ[Y9$]W/K ,8,]GLM0" MM"5C8$% H=!3QQ2Y_ZOG?O7_(L0ZY+\]_S?E@I/[ EO-82K+Y1V]P. +L]$S M:OSJL@,V^[#<3]\BOX>_0NQ''8=,GE/@]84KD-6>AXB##/FNG_!&N5BTU:$C/=[]>!MK"<5?5XO9 ME5_<+#^&JX6+XLN3R;%GV6(0[78$'V9,\8,X[2I'A/;I2L622+NZ2#O(KT4D M5]/58._UR5+%,D9["N4) PI+Y?)VYA$T#"6GP35_KOSPQ-[7UBR6(-I-3@=8 M4EA@'YKY&#+;LVRQY-!N8CO,F"H,X'I?J4N(7N4P@D^6*Y;^V<<0[F)$1<;P M:G$S7^6UA8^6+);JV=\4OF1(798PD\!>7[78<_P@.UB=V.XN#(N;Z5QGM(3/ M5RSW$-_'&K["CRID]?/M9@1O!B'=+U7N);Z/=)YSH JQ/$K=N+Z^^*JGLZ%9 M+?O6+?WE3Z^ONV\6ZK&FDWFXO5\_REGM@TQF><%,CY*]^\>UC>/&M M%TCHYZ.U^< ==VN>O>9X:]W.Q;=^'+D?_#$, M82_7*R:OO7QO6C'AQQ-1*:'\J._Z\8;5]9;\P3;8D:7$OP=*EB3XQ]I;6;%87E<[>AN9Y]6TZ7 M>1[N7UVTV OD0-_[5?84EM[GU1^?%O;CXFJY>+M<33=]U7,V\VKU@6+OE7VE MVH5MA27\\785;?Q\'=')9TI?7[78(V9?61YD4#T'X(=F]6]_?U+[7-VFVGR@ MV(MGAL/R(-L*2_A=7+29^SM*K[=\/N;/],@TDC 9OAH'M^MWQ?+/3%G D4WSM9S \OIXNU9 MMEQY>(9+6)V^WHX-9KY'/U^VE1"KBG4=YE%%KP*-7\9[X:7_S^UT<6]7\ACE M#I]I)>2J0E_=>5AK%M"GKV-E #U=.4OVSY[-9LC\^:2__;Y\-+LF=^)/F_4' MZ'5DSO!+;X-31W:O6$Y, MS_G=M"2^="!Y-GN^O:G/E$3R^L+ELJ_VBJ+IQI?"HOODFPQR>EBE9$[)85XW M>P@OG^03M_0ABSB>KU6N97-'H;S"A!^YBL<\:7[D)_[(3^PF&_??5\WZ/CY4 M/9ZN5"R-:I]V["2VM !FL_MMY5&-Y\N5.]9WLKMI0WOISC->IPO68)UXO$ZQ M)+5]&K&#T-).[7:W>8)N+UX5RQTD M_>2UER^E[REQ*^[>J?\8PM3&==_-\^C:X=7+FY;MUA>;E_K>IA'Q76QN6I6 M>I;C'?CY6L72;7OKW$Y>E)?0A5W%F_CLVR<]=9D$M6O)8HFU_>6UAS.E+\KI MIAAWF':5RS2^MF:Q?-F>@CO F])NYUUD^.+K=3;;^.JBY5)=^WJ9!]A3D?36 M.WMD(7(*<=?:Y?)4,\AR#[-J,*7W6\UN4%]=N5R&Z1"[>HA1I3,K_G,[77U+ M$Y VK(S7FYM-9\=IB)OQD=I$?FE MF44N7ZYRW22[?:I_8U6HJXI<-61>:6U6IO;F5[\,EVN,CYUO[YJ*W'6%,XZR*#2 GQI M60;W_MV]9*MLA9J"6?M94SSR?V?\\POPT-JM)%E3**LELPJ*]'8)KK7^6TJ7.R:%*%&42V*[U6LFKIH#1'J;4$.+/TA[S\4*M!%13E&<7 M&XH[(#H_Z%,SF]JI7WY:-/;IS@=VU]CSF2RM-MJ2D:'OQNN?>H&4GH6LA]M<^/S2K[5;SF/#V7RE6R955 MSGOX-[Y%W_X@_6+TTO^?__7_ 5!+ 0(4 Q0 ( )*A^U:H*XPJ8@@ /M" M 4 " 0 !A-C,P,C-E>&AI8FET,S$Q+FAT;5!+ 0(4 M Q0 ( )*A^U;+Y%+T8 @ $ ] 4 " 90( !A-C,P M,C-E>&AI8FET,S$R+FAT;5!+ 0(4 Q0 ( )*A^U8EJ]SL.04 .@K 4 M " 281 !A-C,P,C-E>&AI8FET,S(Q+FAT;5!+ 0(4 Q0 M ( )*A^U:QO84"N_\ &O:$@ 1 " 9$6 !A<'!F+3(P M,C,P-C,P+FAT;5!+ 0(4 Q0 ( )*A^U:K_'H@4@T %N9 1 M " 7L6 0!A<'!F+3(P,C,P-C,P+GAS9%!+ 0(4 Q0 ( )*A^U9A MQ B\'" +5# 0 5 " ?PC 0!A<'!F+3(P,C,P-C,P7V-A M;"YX;6Q02P$"% ,4 " "2H?M60-6HZ=]! "*_ ( %0 M@ %+1 $ 87!P9BTR,#(S,#8S,%]D968N>&UL4$L! A0#% @ DJ'[5M#\ M"4N]SP T.@( !4 ( !788! &%P<&8M,C R,S V,S!?;&%B M+GAM;%!+ 0(4 Q0 ( )*A^U;86N.BWW@ !'K!0 5 " M 4U6 @!A<'!F+3(P,C,P-C,P7W!R92YX;6Q02P4& D "0!0 @ 7\\" # end