<SEC-DOCUMENT>0001433195-21-000080.txt : 20210809
<SEC-HEADER>0001433195-21-000080.hdr.sgml : 20210809
<ACCEPTANCE-DATETIME>20210809161135
ACCESSION NUMBER:		0001433195-21-000080
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		72
CONFORMED PERIOD OF REPORT:	20210630
FILED AS OF DATE:		20210809
DATE AS OF CHANGE:		20210809

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:		211156594

	BUSINESS ADDRESS:	
		STREET 1:		50 CASTILIAN DRIVE
		CITY:			GOLETA
		STATE:			CA
		ZIP:			93117
		BUSINESS PHONE:		8053646093

	MAIL ADDRESS:	
		STREET 1:		50 CASTILIAN DRIVE
		CITY:			GOLETA
		STATE:			CA
		ZIP:			93117
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>appf-20210630.htm
<DESCRIPTION>10-Q
<TEXT>
<XBRL>
<?xml version="1.0" ?><!--XBRL Document Created with Wdesk from Workiva--><!--Copyright 2021 Workiva--><!--r:37da0c4e-e9f4-4889-837f-b75c37440ddd,g:52117fbf-c0b2-4806-85da-e7b4fd96bdf9,d:33d2ee1a81324077be4958e6cee29b3d--><html xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:appf="http://www.appfolio.com/20210630" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns="http://www.w3.org/1999/xhtml" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:srt="http://fasb.org/srt/2021-01-31" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:dei="http://xbrl.sec.gov/dei/2021" xml:lang="en-US"><head><meta http-equiv="Content-Type" content="text/html"/>


<title>appf-20210630</title></head><body><div style="display:none"><ix:header><ix:hidden><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="dei:EntityCentralIndexKey" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80L2ZyYWc6Yjc4MDc4MDg0ZGI1NDkzOGFlMjk4ODk5MWJjZDYzNDkvdGFibGU6MTNiNjRjOTFkMjJjNGI2Zjg5ZTFkNGFiMmUyMGQ4NTkvdGFibGVyYW5nZToxM2I2NGM5MWQyMmM0YjZmODllMWQ0YWIyZTIwZDg1OV8yLTEtMS0xLTA_c6dafa3b-4d90-42d4-a7fe-5ad9dcb7da28">0001433195</ix:nonNumeric><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" format="ixt:datemonthday" name="dei:CurrentFiscalYearEndDate" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80L2ZyYWc6Yjc4MDc4MDg0ZGI1NDkzOGFlMjk4ODk5MWJjZDYzNDkvdGFibGU6MTNiNjRjOTFkMjJjNGI2Zjg5ZTFkNGFiMmUyMGQ4NTkvdGFibGVyYW5nZToxM2I2NGM5MWQyMmM0YjZmODllMWQ0YWIyZTIwZDg1OV8zLTEtMS0xLTA_86d30b9c-ba8b-43a8-bb37-3a463c6b1d98">12/31</ix:nonNumeric><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="dei:DocumentFiscalYearFocus" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80L2ZyYWc6Yjc4MDc4MDg0ZGI1NDkzOGFlMjk4ODk5MWJjZDYzNDkvdGFibGU6MTNiNjRjOTFkMjJjNGI2Zjg5ZTFkNGFiMmUyMGQ4NTkvdGFibGVyYW5nZToxM2I2NGM5MWQyMmM0YjZmODllMWQ0YWIyZTIwZDg1OV83LTEtMS0xLTA_6d7a7cdb-af27-4cfb-b3dd-a469f306b02f">2021</ix:nonNumeric><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="dei:DocumentFiscalPeriodFocus" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80L2ZyYWc6Yjc4MDc4MDg0ZGI1NDkzOGFlMjk4ODk5MWJjZDYzNDkvdGFibGU6MTNiNjRjOTFkMjJjNGI2Zjg5ZTFkNGFiMmUyMGQ4NTkvdGFibGVyYW5nZToxM2I2NGM5MWQyMmM0YjZmODllMWQ0YWIyZTIwZDg1OV84LTEtMS0xLTA_398ecd45-d709-497f-bf25-f0063f5a3430">Q2</ix:nonNumeric><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="dei:AmendmentFlag" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80L2ZyYWc6Yjc4MDc4MDg0ZGI1NDkzOGFlMjk4ODk5MWJjZDYzNDkvdGFibGU6MTNiNjRjOTFkMjJjNGI2Zjg5ZTFkNGFiMmUyMGQ4NTkvdGFibGVyYW5nZToxM2I2NGM5MWQyMmM0YjZmODllMWQ0YWIyZTIwZDg1OV85LTEtMS0xLTA_4f53f02f-c7fa-4631-b947-06786007b392">false</ix:nonNumeric><ix:nonNumeric contextRef="i2c13e8b1f351430284e5e679b6f2f767_I20210630" name="us-gaap:LesseeOperatingLeaseTermOfContract" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RleHRyZWdpb246M2I3MTQ3NmVhZWIyNDFlY2JjZjQ2NDI4OTkyYTY0ZjBfOTg_4c29c6f1-62ae-4f47-8c0d-6b3cfa00e05b">P1Y</ix:nonNumeric><ix:nonNumeric contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" name="us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfNi0wLTEtMS0w_58f37670-ee5b-48fa-adbf-a9b8ba85689b">http://fasb.org/us-gaap/2021-01-31#OtherLiabilitiesCurrent</ix:nonNumeric><ix:nonNumeric contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" name="us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfNi0wLTEtMS0w_80e2d195-6079-4671-9e00-2846107801df">http://fasb.org/us-gaap/2021-01-31#OtherLiabilitiesCurrent</ix:nonNumeric></ix:hidden><ix:references xml:lang="en-US"><link:schemaRef xlink:type="simple" xlink:href="appf-20210630.xsd"></link:schemaRef></ix:references><ix:resources><xbrli:context id="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="shares"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:context id="i9c0eb3051a5c499cad9f62bbdf17525f_I20210802"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-08-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1965eb36c0254907b14eb2c3d7b8e012_I20210802"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-08-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="usd"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:context id="i49a83278583a4fd3a93151bd1e49d10e_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i30100f93f54b4462aecab412e968bd6f_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="usdPerShare"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit><xbrli:context id="i59ac7f950e9845f4a8c5cf34ace3451f_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i266df8e2ba744fe9beac4c225c6c8da4_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i53002aca9c784ed588ff49f4e0d9dc44_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iab4cd7e76c714310a83d639b192c1c28_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-04-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iadafe23d8a674865ac16ded0dd992701_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i36d2ff2f3c4f4972993d5cbc515e2e58_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if8563cf58925411fab60663753d84d5a_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7a1dda38688549b3a694c01a41649bcb_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i36838ad0aa9e42bc8d336aeebe97d3b3_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id26b681fd07d4da1926257554782cea3_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie626ef575f8648359688670c77022114_D20210101-20210331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0d699ee7e10b429ba9cda7689caf4ce7_D20210101-20210331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iebb5837e5b9a487b8ca7baac6916b06b_D20210101-20210331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1fc1c5e7ccfe43588b2edf253fe8de00_D20210101-20210331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i16d67d5033744b9e924767350d564ee0_D20210101-20210331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib2fce70f815f4f1686ebac5c115cfe5b_D20210101-20210331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2f93918e87a74100929771acd285b138_I20210331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1d6cf4a9587a4a2386c918a0c39d0c0e_I20210331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="idcda3eedde3b44d0852f60b88fd06383_I20210331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia4550210957b49e0b4f3d48d73e71851_I20210331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia39cc8333f4d409291e8d684b18fe62f_I20210331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i767e759cac2e4948b76efad220fc1043_I20210331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i951e690537cd4f74905f8f057b259fba_I20210331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i688a96cc0fa64690b5f01603ed62fb6d_D20210401-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5f78a4b6c4ba4096845c1f93d1947e15_D20210401-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="idac8d27a9ec4465ba13547966661b07d_D20210401-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i34ff8464d68c4b41b9cdd07a425b9688_D20210401-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1576f7b1a14947119362008901a8a59d_D20210401-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iea93ba2a4e8d4bda904b7596eba42bd4_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id5c0c1c439054b18b1c35b41de34da49_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i89417483569f4f3f93b94fecad35c667_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id1c61cbee6fe4c9ea24bbe2a152a41e0_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4da7eb8f55e84c2196ef7a2591b3af44_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie34ebf95970749fcb59d06facf20b7ed_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie71946e53a9141c2985262e73f21d211_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia273b335fdc34a00b7391ca01d20930c_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i95fe3b7512dc4aea8492ab7094c19fba_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib8d1090c69c54463bf96403d5d680915_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iecd37b0440934f2e973412c6e7ff378e_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i9a3f8e84d0a84915b5c2f575445318bb_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i473e347ebb55401dbe2a6897a4960ac2_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if527286e411c499c8fa3f829e9f8f1a5_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9a77525dc55446f485f3031569489596_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie12b07a296d44bc8bf5867ead97026a9_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id47cc0b87fcc4a55864b665cf98fa38f_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i855304e84fd545f49dfc0cb3cdff89c7_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i35f2c1d7a83a46768e2024796d1d6c1a_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id9d4e831a6ac423ea3aa3bcf5feca1c6_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia85a1f2e921d4265a9cc9d099db97606_I20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i457171b76e044c8fba5f470457019be9_I20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i87a02771c61f4dd9a752778100df2f07_I20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0900b5202d9047f697cded080df512f8_I20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia15e38c402a441579cb08c945f46e4c8_I20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3e68eab6c9ae45ff807d53b070357da1_I20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i274be8f03a0f4a2fb24c52b61b7e4c5d_I20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i56ec066694d84fa08df38cbfe9d800a8_D20200401-20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-04-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8a4b27fb1f47494f9780a3c635177b5f_D20200401-20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-04-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i527030bb95f64d4895deefedbb80e718_D20200401-20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-04-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i87ccda2d238e43089e7b3dbbcb3b9459_D20200401-20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-04-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1b127436d3594dfeabed2fd67aa687fa_D20200401-20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-04-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i721e90dffc76488889c8a058865d8e39_I20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7e8708cf3bfd4ba0ba4fd7adf2ad2263_I20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i61e3fa5e6e8b4fc0b24d94bcf00a52fb_I20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7298f901442042a5b2a441bdb590f938_I20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i66bc4798416b40a8a5c388e071ab0c14_I20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7cf590c47d5e47189e9e02c7c5d87fc2_I20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i988c1fbc446e44d2bab95dfcf6db2d16_I20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i90b2071de2174e32a7146ce1f7bac234_D20210401-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ibf594887c7584e618bd23b7fc1ac52bf_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iac83eee40e9f496bab5e9fbd3730502a_D20200101-20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i135d0ebcf8b244328b43951145b259a5_D20200401-20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-04-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i33d25f7a5d2e44dcb8c9b0bef0ed6980_I20200930"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">appf:MyCaseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i367df11d249b4cd8a30f0f498809caba_D20200930-20200930"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">appf:MyCaseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-09-30</xbrli:startDate><xbrli:endDate>2020-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i774464bfa41c4674b475cede92673cb1_D20210401-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">appf:MyCaseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i48eeacffc6e94a0085458e1b4f4a735f_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">appf:MyCaseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i56da3fb104fe42b1b4bfe3ac2a7f1b72_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i59308c55c45a45819932752a6679c2f8_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i76c46d72aba34616a1d425fd2bacd0aa_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ifded2f5021594db08f4bfac7b690d64a_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2b52b0811f374a53b8d2a892b133dfc5_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic8f14e2f98b742f58bdddb87910e20b8_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i15965b74e12e4d52b0ad7e65bcb1590e_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ifd6c3f5409b64a248d76969a2be4df49_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia9210dadeefa4ea087841f03e148956f_D20200101-20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i03f7fe5dce0a42979585fb88ef579614_D20200101-20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if1a3a8dfcaaa46d0a0d29f9510a5adb4_D20200101-20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id4e2074bc7a747a2a7487e7f6020cab0_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie84087eb32e043b6bfc20bf40bbeae2d_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie0cd6cfdbf9f43bcb0e19d05fae4f2be_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i60229432e790462faa0d63adc0e83c1a_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id65b9b4251e44b7bb8d49cd0064fdc15_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5a8a82b15b4a423f8b7c1a59f1d8cc57_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i49309abb3af2468e9b9000d272a77669_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i76fb3be8baa14e20970734c60a19ac99_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i45fe2184113b455d9d4ad00303c8d16e_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i66d4f2457f6843a0ab6253fc765946dd_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4401a086f7114e7eadc2b001d40b948e_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i64b917f38ec14940aae1698f360bb899_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8acd92a53c2d4294b14c6faeb99eb4fd_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib7b0d9701a90489aad465dff0aee5c52_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i96549b25df1a4687811cab8c1e4f4d63_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i77eb2ce76e20402ba7123add4e588368_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3c609665be4947caa0fe9cb67e97e9a3_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i97040d7de9894b019db7f54868216ae4_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if6f84d063d944d4a8b642dfa61dc2000_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id7db59f74e114595993689f8b7125d60_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i86d1e2dc88c549198359d092c9b8bc09_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ifebaf37c8a87482fa12c7b35a9c80a54_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia3b151460d95496d824d89098946b105_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2f03e80423374fada4ae43730a5134d9_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="idb9f22c643ff44cd96d09488f0644480_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3a3a482479504793aec882f79422ac1a_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if6b73ff9cad64b4baa875541b4561bd5_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i923d4fcb79e945a1801a0d96a3188cab_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i11a4d8f2a6d54fb787677b4a13d36e00_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4adf188b204d407ea51a500a7125bf44_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i84a071d649694a3a80fa9df5a64cd823_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i134d4bb8b10a422e8063af0b9f14da06_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="idaab8417abd04000b0340612e2aa6085_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3e9e06d278ab4c9daaddb7ce9233ecc6_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie794bb6c0c4a46489164eda61ea3f20d_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6e1dff00be534a8ba0adde1cc689e0e8_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6dc28727b9244a9992ba6409a084cf54_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib1d362ca124e4762afce663c65356aa6_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if9bb59d9275f4090944712f69e4fd78f_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib8a8f4e1a99f4b7288fa9ec9396b98ca_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i155d2d5074374efba67d7af5a9ac3e5e_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib858aa00e546448599decf06f685ad3d_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9e7fdb5554da46988a3a0f3371e0aa5c_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:DatabaseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3b2f4973093744c1bfd87273ad71cc92_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:DatabaseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie203580e606943899a636f80165c475e_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:TechnologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib81d6ea6ceb1404d8ea05be86c1fc3eb_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:TechnologyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4193ecb651234391ae468a7f18b8b331_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iedf644a677e84d7fae1e8781e3314733_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7651744100014d68bf62b3a26f203b6e_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:PartnerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i602451b4dc24438cb2e45ba6811665bf_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:PartnerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ide94822e72ae4e468937490e0999dae2_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i53f849b4b49a460eb652e8551bd8f121_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i044097dc58bd47e3b73af8d59084a762_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InternetDomainNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6a950cc780a74990bc91e4ac162e9925_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InternetDomainNamesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i61cc8313c7364bb498d9909b794826c3_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i471c1922ad7744a29b1d425144c28d8a_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="idb86a52960d84a2581f27735f7fd916e_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8c959351821a4d9f924811c4e8243e3d_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i12d94561df5949ce90d9891ce2fb4953_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1f52faf5c88c43859b448241b478899d_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:DatabaseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie010e950e3c645448db010cdfde0d7a3_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:DatabaseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iafb4b76941f54e54bbbfdb2ea1902274_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:TechnologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if70c4fe2b6854e63b0b43982c8743f25_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:TechnologyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if8190a6e76d34e7cb1113e0f29a2a802_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0b758220edb54b67a3aad4e28a17a5ee_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i828519f92cdb4aaeb817676356d9cb6c_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:PartnerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="idff1f80f90c34bce942a834aec10e36d_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:PartnerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9d2bf7c1de9f4a3b8034bbd7107c5012_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5120c784cc0f4a0f830cf609ddd96d93_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5643187a8c49426da72ed68edfabf4cd_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InternetDomainNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ieca3f4693e0d409c923775aea995c321_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InternetDomainNamesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i19195c794eee492ebbc960939682a61e_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic5694ee27dc645a480865df6454ae8c3_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6e2689eb8762402ca6f30d14a23935d2_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id2f2903374cd498682a3d5c790913ad4_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">appf:A2021ThreeYearPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2c13e8b1f351430284e5e679b6f2f767_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib844e87bbafd437db894990bc302c955_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id3c0695640ea4474b5f4c48be9cdd7a6_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="number"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:context id="ifbb8a31e296a4af2a6630486c728e36f_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7d123251a4364ea8880da70fc7a7e68c_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="icede5472c35f45ddbe0e142de0f8dc18_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0918a28f49634eba8a6c766b493cfbe3_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i388b9a53d8fa44df8128bd1247847647_I20190220"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2019-02-20</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="director"><xbrli:measure>appf:director</xbrli:measure></xbrli:unit><xbrli:context id="i2a38e101cc82463e8b5f1c4dc7d24234_D20190220-20190220"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2019-02-20</xbrli:startDate><xbrli:endDate>2019-02-20</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ifea9c8c7589a4777a3159cf7b213b956_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3c25fe0841da49819791dd343a9c5659_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if73f8d2ff84645ca8541f5301a92e2f2_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i699f3dc71634437eb8858caf1c82661a_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i457f02cd2d914bf59c65570233da2b87_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i23007c4cafad4bd2a3f9b26ea8da879e_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i83656486275448b3a66204f3c580163a_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2d6a97c0822c4e15ad128f75c59e825d_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic91bd014da1d407eaca3332829384002_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ibbd0f41c03504a048be7fad795dadfda_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5ffc8f34903c4fe894858180fe4f3206_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6514751087c5466089453746d851060f_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic83befabe7bf4f44af62652615e60b9b_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i606f1774863e447e9211fb6f556eeb9b_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i91064e19e59c4b3d820b48c855062288_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedIn2021Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1c176b06ddb74554b4e6a488104f9a96_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedIn2020Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib7ca62402e6d41f6b03da693b045b5ae_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1316c7b18e1640938330bef65bd7614e_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2018Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2d9ebfaac2e84921bc28d4fd332d5937_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ibe541b3721574d48ba2d793240749d44_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id76e06168d524724ab555032a62fdbe0_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheThreeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie0a9682aee9d41a2a0b86cf23739d3b2_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3b864c70c9d44f18bd49ccbae01e7a0a_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3aed813ac95e4cf5b10ffb4678399a1e_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8a6e99e34a0d4f8e9ddd483b0e2fb356_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i25251dcb9bed427785f73e74782d9ba9_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1376ba33952141cabbc021cd6ef8653b_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic1f50fce2ed546f2abc2a69a6027dc0e_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9cdfea096b5b4cdeaa07a77cdafe7b17_D20210401-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0e5ec4fabfca4faf9653509aae963b7f_D20200401-20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-04-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5fd43dec6fa644fb9846154e4e1a2403_D20200101-20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0b07d8eecfa44616b63e0e4a9bf7a0c7_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5f49e86785c9487b9d0bc7db6eba2827_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ibc8cc1f06fac4621bdbc5ec636ea6da1_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1fa786168841439a93c8c2e916577768_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i9ea342cb717b486f9464c87038c11bfe_D20210401-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i083be320e66b42978fe2513c9e065532_D20200401-20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-04-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ide895304836b4cb2ab577956c806111b_D20200101-20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib29dfbc40149496bb48678d3d6aaed05_D20210401-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:CoreSolutionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i55cae2869a1b4c668533f888f18db521_D20200401-20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:CoreSolutionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-04-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iba5125b1e5b44561bdf592a85b5b11f1_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:CoreSolutionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6a1c13f61b5c40eab67e9f0a65914e9c_D20200101-20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:CoreSolutionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5c5daae44e0e4ef084495db2c88278fd_D20210401-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:ValuePlusServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i003ee976ec8e49a3acc1bc3f86391e1a_D20200401-20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:ValuePlusServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-04-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib2af20f788064359bfc915ec0e6a712a_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:ValuePlusServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i807085b8a7d049dfbe3bf64f96d51d6f_D20200101-20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:ValuePlusServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4a660250c25148f694d3f8f14d0fc40e_D20210401-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:OtherServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i365faf2b4c5746a1ad4487b3c4f6ec9c_D20200401-20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:OtherServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-04-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4ab913e85b484589accbf624ed271341_D20210101-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:OtherServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if54140991131407ca66d98ec040d6ce2_D20200101-20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:OtherServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context></ix:resources></ix:header></div><div id="i33d2ee1a81324077be4958e6cee29b3d_1"></div><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="margin-bottom:2pt;text-align:center"><span><br/></span></div><div style="margin-bottom:2pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">UNITED STATES</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">SECURITIES AND EXCHANGE COMMISSION</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Washington, D.C. 20549</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:14pt;font-weight:700;line-height:120%">FORM <ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="dei:DocumentType" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGV4dHJlZ2lvbjo1Mzg1YTY2Y2U2ZTU0N2RmYjBjOGZiZmFjMmZkNmY4M18yMzIx_1b4a8a2a-e69d-4398-a843-79c22e85d783">10-Q</ix:nonNumeric> </span></div><div style="margin-bottom:5pt;margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(Mark one) </span></div><div><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" format="ixt-sec:boolballotbox" name="dei:DocumentQuarterlyReport" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGV4dHJlZ2lvbjo1Mzg1YTY2Y2U2ZTU0N2RmYjBjOGZiZmFjMmZkNmY4M18yMzE4_9d1fe31c-2c35-4ad7-97b9-594ed4e584b2">&#9746;</ix:nonNumeric></span><span style="color:#000000;font-family:'Wingdings',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%">QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></div><div style="margin-bottom:5pt;margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">       For the quarterly period ended <ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" format="ixt:datemonthdayyearen" name="dei:DocumentPeriodEndDate" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGV4dHJlZ2lvbjo1Mzg1YTY2Y2U2ZTU0N2RmYjBjOGZiZmFjMmZkNmY4M18xMDk5NTExNjMwMTM0_b2155b84-58de-4083-824d-2af544a1c6c8">June 30, 2021</ix:nonNumeric>. </span></div><div><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" format="ixt-sec:boolballotbox" name="dei:DocumentTransitionReport" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGV4dHJlZ2lvbjo1Mzg1YTY2Y2U2ZTU0N2RmYjBjOGZiZmFjMmZkNmY4M18yMzIy_75522909-7195-41a2-a985-57ca4dd5cf2f">&#9744;</ix:nonNumeric></span><span style="color:#000000;font-family:'Wingdings',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%">TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></div><div style="margin-bottom:5pt;margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">       For the transition period from ________ to ________.</span></div><div style="margin-bottom:5pt;margin-top:5pt"><span><br/></span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commission File Number <ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="dei:EntityFileNumber" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGV4dHJlZ2lvbjo1Mzg1YTY2Y2U2ZTU0N2RmYjBjOGZiZmFjMmZkNmY4M18yMzIz_94ec995b-1acc-445c-a4ba-6b5ac88d9950">001-37468</ix:nonNumeric> </span></div><div style="margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:16pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="dei:EntityRegistrantName" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGV4dHJlZ2lvbjo1Mzg1YTY2Y2U2ZTU0N2RmYjBjOGZiZmFjMmZkNmY4M18yMzE5_b4a1cfdf-1292-46d6-b2d7-5b8c709d3288">AppFolio, Inc.</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:120%">(Exact name of registrant as specified in its charter)</span></div><div style="margin-top:14pt;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:25.107%"></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:22.179%"></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:47.950%"></td><td style="width:0.1%"></td></tr><tr><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:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" format="ixt-sec:stateprovnameen" name="dei:EntityIncorporationStateCountryCode" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGFibGU6OTdlOTNiNTZlYjIzNDY1NTg5NTk0NWQwM2ZhY2U2MmEvdGFibGVyYW5nZTo5N2U5M2I1NmViMjM0NjU1ODk1OTQ1ZDAzZmFjZTYyYV8wLTAtMS0xLTA_b2d90fea-ea39-4ffa-836a-137a89c25a3b">Delaware</ix:nonNumeric></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:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="dei:EntityTaxIdentificationNumber" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGFibGU6OTdlOTNiNTZlYjIzNDY1NTg5NTk0NWQwM2ZhY2U2MmEvdGFibGVyYW5nZTo5N2U5M2I1NmViMjM0NjU1ODk1OTQ1ZDAzZmFjZTYyYV8wLTQtMS0xLTA_d2f63a6d-4cf0-4408-a5a3-d05814fce5d6">26-0359894</ix:nonNumeric></span></td></tr><tr><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:10pt;font-style:italic;font-weight:700;line-height:100%">(State of incorporation or organization)</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:10pt;font-style:italic;font-weight:700;line-height:100%">(I.R.S. Employer Identification No.)</span></td></tr><tr style="height:14pt"><td colspan="15" style="padding:0 1pt"></td></tr><tr><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:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="dei:EntityAddressAddressLine1" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGFibGU6OTdlOTNiNTZlYjIzNDY1NTg5NTk0NWQwM2ZhY2U2MmEvdGFibGVyYW5nZTo5N2U5M2I1NmViMjM0NjU1ODk1OTQ1ZDAzZmFjZTYyYV8zLTAtMS0xLTA_698b1fd8-20ad-42a1-8930-4507c1a704ac">50 Castilian Drive</ix:nonNumeric></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:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="dei:EntityAddressPostalZipCode" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGFibGU6OTdlOTNiNTZlYjIzNDY1NTg5NTk0NWQwM2ZhY2U2MmEvdGFibGVyYW5nZTo5N2U5M2I1NmViMjM0NjU1ODk1OTQ1ZDAzZmFjZTYyYV8zLTQtMS0xLTA_98eeb574-aba9-40ea-8e6f-7e46d81d9afd">93117</ix:nonNumeric></span></td></tr><tr><td colspan="6" style="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:700;line-height:100%">&#160;&#160;&#160;<ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="dei:EntityAddressCityOrTown" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGFibGU6OTdlOTNiNTZlYjIzNDY1NTg5NTk0NWQwM2ZhY2U2MmEvdGFibGVyYW5nZTo5N2U5M2I1NmViMjM0NjU1ODk1OTQ1ZDAzZmFjZTYyYV80LTAtMS0xLTA_efda4309-2b41-4167-8079-2d2c85932f30">Santa Barbara,</ix:nonNumeric></span></td><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:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" format="ixt-sec:stateprovnameen" name="dei:EntityAddressStateOrProvince" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGFibGU6OTdlOTNiNTZlYjIzNDY1NTg5NTk0NWQwM2ZhY2U2MmEvdGFibGVyYW5nZTo5N2U5M2I1NmViMjM0NjU1ODk1OTQ1ZDAzZmFjZTYyYV80LTItMS0xLTA_875677e9-d3a4-4f98-bc7f-1f8d65f14d5b">California</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><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:10pt;font-style:italic;font-weight:700;line-height:100%">(Address of principal executive offices)    </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:10pt;font-style:italic;font-weight:700;line-height:100%">(Zip Code)</span></td></tr></table></div><div style="margin-bottom:9pt;margin-top:4pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">(<ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="dei:CityAreaCode" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGV4dHJlZ2lvbjo1Mzg1YTY2Y2U2ZTU0N2RmYjBjOGZiZmFjMmZkNmY4M18yMzI0_60085cd5-441f-4bac-a0e2-bcc6655f6542">805</ix:nonNumeric>) <ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="dei:LocalPhoneNumber" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGV4dHJlZ2lvbjo1Mzg1YTY2Y2U2ZTU0N2RmYjBjOGZiZmFjMmZkNmY4M18yMzIw_8e21bf72-ead6-4dd9-a381-49f55343cb7f">364-6093</ix:nonNumeric> </span></div><div style="margin-bottom:9pt;margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:174%">(Registrant&#8217;s telephone number, including area code)</span></div><div style="margin-bottom:9pt;margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">N/A</span></div><div style="margin-bottom:9pt;margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:120%">(Former name, former address and former fiscal year, if changed since last report)</span></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Securities registered pursuant to Section 12(b) of the Act: </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:33.307%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.369%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:51.024%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline">Title of each class</span></td><td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline">Trading Symbol</span></td><td colspan="3" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline">Name of each exchange on which registered</span></td></tr><tr><td colspan="3" style="border-bottom:1pt solid #000;border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="dei:Security12bTitle" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGFibGU6N2U2ZmZlYmI0MWYxNGViMWJmZjFiMjgzZTA5NjlkN2EvdGFibGVyYW5nZTo3ZTZmZmViYjQxZjE0ZWIxYmZmMWIyODNlMDk2OWQ3YV8xLTAtMS0xLTA_524806a3-f39f-43ee-8f23-d3386ee0dc81">Class A Common Stock, $0.0001 par value</ix:nonNumeric></span></td><td colspan="3" style="border-bottom:1pt solid #000;border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="dei:TradingSymbol" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGFibGU6N2U2ZmZlYmI0MWYxNGViMWJmZjFiMjgzZTA5NjlkN2EvdGFibGVyYW5nZTo3ZTZmZmViYjQxZjE0ZWIxYmZmMWIyODNlMDk2OWQ3YV8xLTEtMS0xLTA_0b1eef50-cb8a-492f-a79d-e00c098a344f">APPF</ix:nonNumeric></span></td><td colspan="3" style="border-bottom:1pt solid #000;border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" format="ixt-sec:exchnameen" name="dei:SecurityExchangeName" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGFibGU6N2U2ZmZlYmI0MWYxNGViMWJmZjFiMjgzZTA5NjlkN2EvdGFibGVyYW5nZTo3ZTZmZmViYjQxZjE0ZWIxYmZmMWIyODNlMDk2OWQ3YV8xLTItMS0xLTA_76f1d7e2-9979-4105-a8df-7625bb4d7620">NASDAQ Global Market</ix:nonNumeric></span></td></tr></table></div><div style="margin-bottom:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">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. <ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="dei:EntityCurrentReportingStatus" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGV4dHJlZ2lvbjo1Mzg1YTY2Y2U2ZTU0N2RmYjBjOGZiZmFjMmZkNmY4M18yMzI1_55446e73-9c56-4bee-bc99-ac9834760c39">Yes</ix:nonNumeric> </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9746;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> No </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9744;</span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">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 (&#167;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). <ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="dei:EntityInteractiveDataCurrent" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGV4dHJlZ2lvbjo1Mzg1YTY2Y2U2ZTU0N2RmYjBjOGZiZmFjMmZkNmY4M18yMzI2_8f4ffc72-7d10-4095-8753-7dba436e9681">Yes</ix:nonNumeric> </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9746;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> No </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9744;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">  </span></div><div style="margin-bottom:10pt;margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">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 &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company&#8221; and "emerging growth company" in Rule 12b-2 of the Exchange Act.</span></div><div style="margin-bottom:10pt;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:18.929%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.577%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:46.707%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.577%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:22.730%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.580%"></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:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" format="ixt-sec:entityfilercategoryen" name="dei:EntityFilerCategory" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGFibGU6ZDE4MWY0NTdmZjMyNDJiN2E1OTZmZGI4ZTJjMDdjMzYvdGFibGVyYW5nZTpkMTgxZjQ1N2ZmMzI0MmI3YTU5NmZkYjhlMmMwN2MzNl8wLTAtMS0xLTA_308c42de-e01e-40e7-a68e-3e873f1a504a">Large accelerated filer</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:5pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#9746;</span></div></td><td colspan="3" style="padding:0 1pt"></td><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:9pt;font-weight:400;line-height:100%">Accelerated&#160;filer</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:5pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#9744;</span></div></td></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></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:9pt;font-weight:400;line-height:100%">Non-accelerated filer</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:5pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#9744;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></div></td><td colspan="3" style="padding:0 1pt"></td><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:9pt;font-weight:400;line-height:100%">Smaller&#160;reporting&#160;company</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:5pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" format="ixt-sec:boolballotbox" name="dei:EntitySmallBusiness" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGFibGU6ZDE4MWY0NTdmZjMyNDJiN2E1OTZmZGI4ZTJjMDdjMzYvdGFibGVyYW5nZTpkMTgxZjQ1N2ZmMzI0MmI3YTU5NmZkYjhlMmMwN2MzNl8yLTUtMS0xLTA_792fc750-439b-401f-b5db-9b779bffa62b">&#9744;</ix:nonNumeric></span></div></td></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><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:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Emerging growth company</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:5pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" format="ixt-sec:boolballotbox" name="dei:EntityEmergingGrowthCompany" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGFibGU6ZDE4MWY0NTdmZjMyNDJiN2E1OTZmZGI4ZTJjMDdjMzYvdGFibGVyYW5nZTpkMTgxZjQ1N2ZmMzI0MmI3YTU5NmZkYjhlMmMwN2MzNl80LTUtMS0xLTA_98ddefcd-3b84-43b7-a9e7-3546581c54c8">&#9744;</ix:nonNumeric></span></div></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">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.&#160;&#9744;</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act). Yes </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" format="ixt-sec:boolballotbox" name="dei:EntityShellCompany" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGV4dHJlZ2lvbjo1Mzg1YTY2Y2U2ZTU0N2RmYjBjOGZiZmFjMmZkNmY4M18yMzI3_724ff965-1b01-4fa4-a911-9ffe78a735e5">&#9744;</ix:nonNumeric></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> No </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9746;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">As of August&#160;2, 2021, the number of shares of the registrant&#8217;s Class A common stock outstanding was <ix:nonFraction unitRef="shares" contextRef="i9c0eb3051a5c499cad9f62bbdf17525f_I20210802" decimals="INF" format="ixt:numdotdecimal" name="dei:EntityCommonStockSharesOutstanding" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGV4dHJlZ2lvbjo1Mzg1YTY2Y2U2ZTU0N2RmYjBjOGZiZmFjMmZkNmY4M18yMjMx_32cd2b5c-dd91-46d4-9444-a1067fe84c90">18,991,205</ix:nonFraction> and the number of shares of the registrant&#8217;s Class B common stock outstanding was <ix:nonFraction unitRef="shares" contextRef="i1965eb36c0254907b14eb2c3d7b8e012_I20210802" decimals="INF" format="ixt:numdotdecimal" name="dei:EntityCommonStockSharesOutstanding" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGV4dHJlZ2lvbjo1Mzg1YTY2Y2U2ZTU0N2RmYjBjOGZiZmFjMmZkNmY4M18yMzE2_b94a2d72-b729-4080-85a1-5d054adcde0c">15,620,784</ix:nonFraction>.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div><div id="i33d2ee1a81324077be4958e6cee29b3d_7"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="margin-top:18pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">TABLE OF CONTENTS</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-top:5pt"><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:86.747%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.410%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.443%"></td><td style="width:0.1%"></td></tr><tr><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:10pt;font-weight:700;line-height:100%">Section</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:10pt;font-weight:700;line-height:100%">Page No.</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_10">Cautionary Note Regarding Forward-Looking Statements</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_10">1</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_13">Part I.  Financial Information</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_13">2</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:36pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_13">Item 1.  Condensed Consolidated Financial Statements (Unaudited)</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_13">2</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:47.25pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_16">Condensed Consolidated Balance Sheets as of June 30, 2021 and December 31, 2020</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_16">3</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:47.25pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_19">Condensed Consolidated Statements of Operations for the Three and Six Months Ended June 30, 2021 and 2020</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_19">4</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:47.25pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_22">Condensed Consolidated Statements of Comprehensive Income for the Three and Six Months Ended June 30, 2021 and 2020</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_22">5</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:47.25pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_25">Condensed Consolidated Statements of Stockholders' Equity for the Three and Six Months Ended June 30, 2021 and 2020</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_25">6</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:47.25pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_28">Condensed Consolidated Statements of Cash Flows for the Six Months Ended June 30, 2021 and 2020</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_28">8</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:47.25pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_31">Notes to Condensed Consolidated Unaudited Financial Statements</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_31">10</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:36pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_76">Item 2.  Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_76">22</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:36pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_103">Item 3.  Qualitative and Quantitative Disclosure about Market Risk</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_103">33</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:36pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_106">Item 4.  Controls and Procedures</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_106">33</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_109">Part II.  Other Information</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_109">35</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:36pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_112">Item 1.  Legal Proceedings</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_112">35</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:36pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_115">Item 1A.  Risk Factors</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_115">35</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:36pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_118">Item 6.  Exhibits</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_118">49</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_121">Signatures</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160; </span></div><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div><div id="i33d2ee1a81324077be4958e6cee29b3d_10"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="text-align:center;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CAUTIONARY NOTE REGARDING FORWARD-LOOKING STATEMENTS</span></div><div style="text-align:justify"><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%">This Quarterly Report on Form 10-Q for the fiscal quarter ended June&#160;30, 2021 (this "Quarterly Report"), includes &#8220;forward-looking statements&#8221; within the meaning of Section 27A of the Securities Act of 1933, as amended (the "Securities Act"), and Section 21E of the Securities Exchange Act of 1934, as amended (the "Exchange Act"), which statements are subject to considerable risks and uncertainties. These forward-looking statements are intended to qualify for the safe harbor from liability established by the Private Securities Litigation Reform Act of 1995. Forward-looking statements include all statements that are not statements of historical facts and can be identified by words such as &#8220;anticipates,&#8221; &#8220;believes,&#8221; &#8220;could,&#8221; &#8220;estimates,&#8221; &#8220;expects,&#8221; &#8220;intends,&#8221; &#8220;may,&#8221; &#8220;plans,&#8221; &#8220;potential,&#8221; &#8220;predicts," &#8220;projects,&#8221; &#8220;seeks,&#8221; &#8220;should,&#8221; &#8220;will,&#8221; &#8220;would&#8221; or similar expressions and the negatives of those expressions. Forward-looking statements also include the assumptions underlying or relating to such statements. In particular, forward-looking statements contained in this Quarterly Report relate to, among other things: </span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">our future or assumed financial condition, results of operations and liquidity;</span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">business forecasts and plans;</span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">trends affecting our business and industry, and the economy as a whole; </span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">capital needs and financing plans;</span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">capital resource allocation plans;</span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">share repurchase plans; </span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">research and product development plans;</span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">future products and Value+ services;</span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">growth in the size of our business and number of customers;</span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">strategic plans and objectives;</span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">the impact of acquisitions, investments and divestitures;</span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">performance-based compensation, whether cash- or equity-based;</span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">changes in the competitive environment;</span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">commitments and contingencies, including with respect to the outcome of legal proceedings or regulatory matters; </span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">the application of accounting guidance, including the impact from adoption of recent accounting pronouncements; and </span></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">the impacts of, and our response to, the novel coronavirus ("COVID-19") pandemic. </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 foregoing list may not include all of the forward-looking statements made in this Quarterly Report.</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%">Our forward-looking statements are based on our management&#8217;s current beliefs, assumptions and expectations about future events and trends, which affect or may affect our business, strategy, operations, financial performance or liquidity. Although we believe these forward-looking statements are based upon reasonable assumptions, they are subject to numerous known and unknown risks and uncertainties and are made in light of information currently available to us. Our actual financial condition and results could differ materially from those expressed or implied by these forward-looking statements as a result of various factors, including those discussed in the sections entitled "Management's Discussion and Analysis of Financial Condition and Results of Operations" and "Risk Factors" in this Quarterly Report and in our Annual Report on Form 10-K for the fiscal year ended December&#160;31, 2020 (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.</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%">Moreover, we operate in an evolving environment. New risks and uncertainties emerge from time to time and it is not possible for our management to predict all risks and uncertainties, nor can we assess the impact of all factors on our business or the extent to which any factor, or combination of factors, may cause actual future results to be materially different from those expressed or implied by any forward-looking 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-weight:400;line-height:120%">Forward-looking statements speak only as of the date they were made, and, except to the extent required by law or the rules of the NASDAQ Global Market, we undertake no obligation to update or review any forward-looking statement because of new information, future events or other factors.</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 qualify all of our forward-looking statements by these cautionary statements.</span></div><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1</span></div></div></div><div id="i33d2ee1a81324077be4958e6cee29b3d_13"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="margin-top:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART I. FINANCIAL INFORMATION</span></div><div style="margin-top:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 1. Condensed Consolidated Financial Statements</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2</span></div></div></div><div id="i33d2ee1a81324077be4958e6cee29b3d_16"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">APPFOLIO, INC.</span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONDENSED CONSOLIDATED BALANCE SHEETS </span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(UNAUDITED)</span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands, except par values)</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.859%"><tr><td style="width:1.0%"></td><td style="width:68.885%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.501%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.065%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.781%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.068%"></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:9pt;font-weight:400;line-height:100%">&#160;</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:9pt;font-weight:700;line-height:100%">June 30,<br/>2021</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:9pt;font-weight:700;line-height:100%">December 31,<br/>2020</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:9pt;font-weight:700;line-height:100%">Assets</span></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="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></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:9pt;font-weight:400;line-height:100%">Current assets</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></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash and cash equivalents</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:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMy0yLTEtMS0w_c8b0fd7e-9136-44ec-b132-c60b87c96ab6">48,610</ix:nonFraction>&#160;</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:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMy00LTEtMS0w_67e72a54-740e-4feb-b73f-175540903491">140,263</ix:nonFraction>&#160;</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 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Investment securities&#8212;current</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNC0yLTEtMS0w_1430c271-40c7-4534-b843-617ed8a79194">102,978</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNC00LTEtMS0w_3c0e6012-e150-4038-8f22-274396429ba9">28,256</ix:nonFraction>&#160;</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 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts receivable, net</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNS0yLTEtMS0w_37f012ef-417b-4d0d-9bd8-0be23a112941">14,973</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNS00LTEtMS0w_fd764ecd-47ef-4570-b08e-32cd0ba585e5">10,057</ix:nonFraction>&#160;</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 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNi0yLTEtMS0w_9d4a6fa3-cbfe-4162-b33a-532773c42865">23,306</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNi00LTEtMS0w_1bd65e3b-1cc6-44b7-8bf8-d224ed60f823">20,777</ix:nonFraction>&#160;</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 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total current assets</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNy0yLTEtMS0w_295afd6c-2928-42b0-bd5a-59a78df5546a">189,867</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNy00LTEtMS0w_be8e1760-362d-454b-aa72-c89ec34b9efb">199,353</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">Investment securities&#8212;noncurrent</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfOC0yLTEtMS0w_0f813150-7654-464c-8e7c-84aae8374b06">11,541</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfOC00LTEtMS0w_e0caddbd-6521-4c5e-a882-c47cda8473be">6,770</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">Property and equipment, net</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfOS0yLTEtMS0w_49770db3-edf8-45b6-9bfd-b609d9d582f6">27,324</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfOS00LTEtMS0w_ccd545e4-40ff-45d1-9a93-e69e549d5def">26,439</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">Operating lease right-of-use assets</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTAtMi0xLTEtMA_e2611f8d-d19e-4a54-916f-351741fc16c1">40,983</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTAtNC0xLTEtMA_b1a3202a-d730-4b1b-b1e1-528997570610">30,561</ix:nonFraction>&#160;</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:9pt;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 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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTEtMi0xLTEtMA_cce7037c-79ef-4ced-a7d9-086cb02d5ed2">39,225</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTEtNC0xLTEtMA_4de26c11-a796-438e-8a98-8a0d3d00001d">35,459</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">Goodwill</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTItMi0xLTEtMA_e223c093-95e1-49ca-bda5-79756768214c">56,147</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTItNC0xLTEtMA_7bb8f49e-9363-4e9e-badc-abdc6fe9583a">56,147</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">Intangible assets, net</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTMtMi0xLTEtMA_e642e3bf-9d41-455c-8279-18c12d34b786">14,017</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTMtNC0xLTEtMA_67cf6abe-e366-4335-9e07-05614faea451">16,357</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">Deferred income taxes&#8212;noncurrent</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTQtMi0xLTEtMA_0f8d9d85-a347-4b12-8871-1a510469f083">12,774</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTQtNC0xLTEtMA_df8386d0-b313-4b0e-8244-b3c20502caa8">12,181</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">Other long-term assets</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTUtMi0xLTEtMA_cb8aba75-556a-4855-8cac-7d6d80781c13">7,194</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTUtNC0xLTEtMA_f17d1d4f-46ef-4240-a4c3-45240a2aec89">6,213</ix:nonFraction>&#160;</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 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTYtMi0xLTEtMA_2cc9d19f-e850-4422-92f8-04a3863505d3">399,072</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;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-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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTYtNC0xLTEtMA_82b7431c-2923-4ca0-843f-e2db8a858d96">389,480</ix:nonFraction>&#160;</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:9pt;font-weight:700;line-height:100%">Liabilities and Stockholders&#8217; Equity </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #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:3pt double #000000;padding:0 1pt"></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:9pt;font-weight:400;line-height:100%">Current 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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts payable</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:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTktMi0xLTEtMA_18fc7f43-f9e8-4b1c-8b83-c764e70415b6">2,411</ix:nonFraction>&#160;</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:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTktNC0xLTEtMA_73f59fc4-17cb-4353-824a-01b001f529b7">1,040</ix:nonFraction>&#160;</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 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued employee expenses&#8212;current</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjAtMi0xLTEtMA_8aa38182-fd38-4038-ab31-2466c22d7843">27,504</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjAtNC0xLTEtMA_18b9b08c-1c00-40d7-997e-0efd7696b95d">18,888</ix:nonFraction>&#160;</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 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued expenses</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjEtMi0xLTEtMA_31b2e357-8d0e-460f-8d1e-250c694e4c64">11,403</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjEtNC0xLTEtMA_10c86d18-c410-40ac-bec8-cfd5a08f50cd">14,069</ix:nonFraction>&#160;</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 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred revenue</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjItMi0xLTEtMA_2edccc85-7b99-41ef-af37-20d565c03c7f">3,205</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjItNC0xLTEtMA_20e06904-c9dd-4e93-bf88-d56d876d3569">2,262</ix:nonFraction>&#160;</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 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Income tax payable</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" name="us-gaap:TaxesPayableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjMtMi0xLTEtMA_722be9c4-515d-4e50-94a7-92acf5d6def1">66</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TaxesPayableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjMtNC0xLTEtMA_52afe855-f6d7-42c4-8fe8-7a78b17e527b">9,095</ix:nonFraction>&#160;</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 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other current liabilities</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjQtMi0xLTEtMA_b0fc3fdf-3f44-4d45-acf5-59635f23b672">4,196</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjQtNC0xLTEtMA_ba17b56a-45c2-424e-a918-d93d658460b1">4,451</ix:nonFraction>&#160;</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="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total current liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjYtMi0xLTEtMA_5fd3d9fd-eab4-48d3-9f1e-3a6c6802320d">48,785</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;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="2" style="background-color:#cceeff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjYtNC0xLTEtMA_d50f0cb0-2ecf-4491-801e-fab8e6a82c1c">49,805</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;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></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:9pt;font-weight:400;line-height:100%">Accrued employee expenses&#8212;noncurrent</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" name="us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjgtMi0xLTEtMA_1741828f-c599-4db4-b882-c97f29ddd6b0">968</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjgtNC0xLTEtMA_a08b7915-e0f9-4029-a8f0-f35ec1c16104">&#8212;</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">Operating lease liabilities</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjktMi0xLTEtMA_a9208bd4-e6cd-47e8-a9ea-f48ee47f36e9">53,936</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjktNC0xLTEtMA_d4619c42-20f8-4b17-a6bc-0e0823ea4702">40,146</ix:nonFraction>&#160;</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="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:9pt;font-weight:400;line-height:100%">Deferred income taxes&#8212;noncurrent</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzItMi0xLTEtMA_0536ddf9-ca24-4774-ace9-337c21e7b454">8,116</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzItNC0xLTEtMA_95b3d081-33e3-43d8-8463-bb173fee7ed5">13,609</ix:nonFraction>&#160;</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 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzMtMi0xLTEtMA_1ff355df-0dbc-494f-8537-f05dd3ba0d15">111,805</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;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="2" style="background-color:#cceeff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzMtNC0xLTEtMA_121bad75-22e9-4e5a-b9a9-66d67caf2a8b">103,560</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;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:9pt;font-weight:400;line-height:100%">Commitments and contingencies (Note 9)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" xsi:nil="true" name="us-gaap:CommitmentsAndContingencies" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzQtMi0xLTEtMA_110b68a0-be65-46d5-b0eb-7bfd3e14b14e"></ix:nonFraction></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" xsi:nil="true" name="us-gaap:CommitmentsAndContingencies" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzQtNC0xLTEtMA_bd75bf3e-49c9-481e-9978-da13db1ab341"></ix:nonFraction></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:9pt;font-weight:400;line-height:100%">Stockholders&#8217; equity:</span></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><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 style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Preferred stock, $<ix:nonFraction unitRef="usdPerShare" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="INF" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzYtMC0xLTEtMC90ZXh0cmVnaW9uOmM5Y2M5OGY2YWYyODRhM2E5ZjdiZmExODhlNmI1NDEwXzIx_5e0f49f4-6d76-4c39-a22a-3d209c934727"><ix:nonFraction unitRef="usdPerShare" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="INF" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzYtMC0xLTEtMC90ZXh0cmVnaW9uOmM5Y2M5OGY2YWYyODRhM2E5ZjdiZmExODhlNmI1NDEwXzIx_93ace831-9091-4c3e-92d5-17887f2121d5">0.0001</ix:nonFraction></ix:nonFraction> par value, <ix:nonFraction unitRef="shares" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockSharesAuthorized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzYtMC0xLTEtMC90ZXh0cmVnaW9uOmM5Y2M5OGY2YWYyODRhM2E5ZjdiZmExODhlNmI1NDEwXzM1_903eb515-9917-465f-9383-4ab0130638fa"><ix:nonFraction unitRef="shares" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockSharesAuthorized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzYtMC0xLTEtMC90ZXh0cmVnaW9uOmM5Y2M5OGY2YWYyODRhM2E5ZjdiZmExODhlNmI1NDEwXzM1_92bd25c7-d980-4172-9e80-8c19b7c20141">25,000</ix:nonFraction></ix:nonFraction> shares authorized and <ix:nonFraction unitRef="shares" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:PreferredStockSharesIssued" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzYtMC0xLTEtMC90ZXh0cmVnaW9uOmM5Y2M5OGY2YWYyODRhM2E5ZjdiZmExODhlNmI1NDEwXzYw_2233f9fc-23ce-43bb-9337-a5513ecf0d5d"><ix:nonFraction unitRef="shares" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:PreferredStockSharesOutstanding" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzYtMC0xLTEtMC90ZXh0cmVnaW9uOmM5Y2M5OGY2YWYyODRhM2E5ZjdiZmExODhlNmI1NDEwXzYw_2395ffab-af75-44d0-9547-df1f921f6f5e"><ix:nonFraction unitRef="shares" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:PreferredStockSharesOutstanding" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzYtMC0xLTEtMC90ZXh0cmVnaW9uOmM5Y2M5OGY2YWYyODRhM2E5ZjdiZmExODhlNmI1NDEwXzYw_a22cf457-ec90-411b-8ff8-f24ef7910ec8"><ix:nonFraction unitRef="shares" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:PreferredStockSharesIssued" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzYtMC0xLTEtMC90ZXh0cmVnaW9uOmM5Y2M5OGY2YWYyODRhM2E5ZjdiZmExODhlNmI1NDEwXzYw_b75e41e7-1825-49f4-9fb9-aa164ffea701">no</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction> shares issued and outstanding as of June&#160;30, 2021 and December&#160;31, 2020</span></div></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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:PreferredStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzYtMi0xLTEtMA_f3a87ccf-d9dc-4cb7-9bf2-5633adfdbda1">&#8212;</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:PreferredStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzYtNC0xLTEtMA_a2ac81ca-0a86-4403-bb6e-c61e5110d013">&#8212;</ix:nonFraction>&#160;</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 style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Class A common stock, $<ix:nonFraction unitRef="usdPerShare" contextRef="i59ac7f950e9845f4a8c5cf34ace3451f_I20210630" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzctMC0xLTEtMC90ZXh0cmVnaW9uOmI1Yzc0MGFlZTgyOTQzZTM5MmY5N2QwYTZjOGViNjBmXzI2_87a56491-f374-42d2-ad2a-1f40832c4e0a"><ix:nonFraction unitRef="usdPerShare" contextRef="i266df8e2ba744fe9beac4c225c6c8da4_I20201231" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzctMC0xLTEtMC90ZXh0cmVnaW9uOmI1Yzc0MGFlZTgyOTQzZTM5MmY5N2QwYTZjOGViNjBmXzI2_efa48290-5e5f-408a-a177-c6e67b92195e">0.0001</ix:nonFraction></ix:nonFraction> par value, <ix:nonFraction unitRef="shares" contextRef="i59ac7f950e9845f4a8c5cf34ace3451f_I20210630" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzctMC0xLTEtMC90ZXh0cmVnaW9uOmI1Yzc0MGFlZTgyOTQzZTM5MmY5N2QwYTZjOGViNjBmXzQw_1d4f8571-84fa-4ef1-9afd-c215753494e9"><ix:nonFraction unitRef="shares" contextRef="i266df8e2ba744fe9beac4c225c6c8da4_I20201231" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzctMC0xLTEtMC90ZXh0cmVnaW9uOmI1Yzc0MGFlZTgyOTQzZTM5MmY5N2QwYTZjOGViNjBmXzQw_b9ee261e-c451-425f-a5b0-56a7da144610">250,000</ix:nonFraction></ix:nonFraction> shares authorized as of June&#160;30, 2021 and December&#160;31, 2020; <ix:nonFraction unitRef="shares" contextRef="i59ac7f950e9845f4a8c5cf34ace3451f_I20210630" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzctMC0xLTEtMC90ZXh0cmVnaW9uOmI1Yzc0MGFlZTgyOTQzZTM5MmY5N2QwYTZjOGViNjBmXzc4_439f68e3-9cae-44ed-b6e3-ae33e012fe24">19,408</ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="i266df8e2ba744fe9beac4c225c6c8da4_I20201231" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzctMC0xLTEtMC90ZXh0cmVnaW9uOmI1Yzc0MGFlZTgyOTQzZTM5MmY5N2QwYTZjOGViNjBmXzg1_76fbc478-ba21-498e-923a-71455dad8b57">19,148</ix:nonFraction> shares issued as of June&#160;30, 2021 and December&#160;31, 2020, respectively; <ix:nonFraction unitRef="shares" contextRef="i59ac7f950e9845f4a8c5cf34ace3451f_I20210630" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzctMC0xLTEtMC90ZXh0cmVnaW9uOmI1Yzc0MGFlZTgyOTQzZTM5MmY5N2QwYTZjOGViNjBmXzEzMw_6b69673d-bb26-4e63-b326-2490733adb4d">18,989</ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="i266df8e2ba744fe9beac4c225c6c8da4_I20201231" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzctMC0xLTEtMC90ZXh0cmVnaW9uOmI1Yzc0MGFlZTgyOTQzZTM5MmY5N2QwYTZjOGViNjBmXzE0MA_76a24854-cb6a-4d9c-b092-f50e2f79e8e4">18,729</ix:nonFraction> shares outstanding as of June&#160;30, 2021 and December&#160;31, 2020, respectively</span></div></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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i59ac7f950e9845f4a8c5cf34ace3451f_I20210630" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzctMi0xLTEtMA_65d7996f-75f5-4cef-955c-192d126b86ab">2</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i266df8e2ba744fe9beac4c225c6c8da4_I20201231" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzctNC0xLTEtMA_9daefbf3-c742-4851-b873-405804925b2f">2</ix:nonFraction>&#160;</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"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Class B common stock, $<ix:nonFraction unitRef="usdPerShare" contextRef="i53002aca9c784ed588ff49f4e0d9dc44_I20201231" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOmFjMGE0NmI4MWEyNDRjZDA5NTQyYjUzMmYxMjIwMTlkXzI2_4b617175-7260-4c4c-addd-adf2c8e11c1a"><ix:nonFraction unitRef="usdPerShare" contextRef="iab4cd7e76c714310a83d639b192c1c28_I20210630" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOmFjMGE0NmI4MWEyNDRjZDA5NTQyYjUzMmYxMjIwMTlkXzI2_7a08bee3-8431-4075-af61-6e49445e2d57">0.0001</ix:nonFraction></ix:nonFraction> par value, <ix:nonFraction unitRef="shares" contextRef="iab4cd7e76c714310a83d639b192c1c28_I20210630" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOmFjMGE0NmI4MWEyNDRjZDA5NTQyYjUzMmYxMjIwMTlkXzQw_24fff20f-aa14-4751-bf8a-30d30a7e0792"><ix:nonFraction unitRef="shares" contextRef="i53002aca9c784ed588ff49f4e0d9dc44_I20201231" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOmFjMGE0NmI4MWEyNDRjZDA5NTQyYjUzMmYxMjIwMTlkXzQw_9bd4badd-3421-44c7-980c-15d908e8cbf3">50,000</ix:nonFraction></ix:nonFraction> shares authorized as of June&#160;30, 2021 and December&#160;31, 2020; <ix:nonFraction unitRef="shares" contextRef="iab4cd7e76c714310a83d639b192c1c28_I20210630" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOmFjMGE0NmI4MWEyNDRjZDA5NTQyYjUzMmYxMjIwMTlkXzc4_5e512905-154a-4c5b-a8c9-3eb15ae3bc0e"><ix:nonFraction unitRef="shares" contextRef="iab4cd7e76c714310a83d639b192c1c28_I20210630" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOmFjMGE0NmI4MWEyNDRjZDA5NTQyYjUzMmYxMjIwMTlkXzc4_97d1c3dd-0c91-45d7-9879-23f53f6046d3">15,621</ix:nonFraction></ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="i53002aca9c784ed588ff49f4e0d9dc44_I20201231" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOmFjMGE0NmI4MWEyNDRjZDA5NTQyYjUzMmYxMjIwMTlkXzg1_15c74bb0-457c-4f80-a8ae-e7a7e2715ee3"><ix:nonFraction unitRef="shares" contextRef="i53002aca9c784ed588ff49f4e0d9dc44_I20201231" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOmFjMGE0NmI4MWEyNDRjZDA5NTQyYjUzMmYxMjIwMTlkXzg1_41a937c4-b097-4600-9058-d1810c2ad8c2">15,659</ix:nonFraction></ix:nonFraction> shares issued and outstanding as of June&#160;30, 2021 and December&#160;31, 2020, respectively</span></div></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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab4cd7e76c714310a83d639b192c1c28_I20210630" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzgtMi0xLTEtMA_3b414124-b316-4b20-a86f-12375a19545e">2</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i53002aca9c784ed588ff49f4e0d9dc44_I20201231" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzgtNC0xLTEtMA_0c6731d4-b408-48a4-8984-c1705d2d6048">2</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">Additional paid-in capital</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapital" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzktMi0xLTEtMA_8d3e3cc5-5711-44d3-8f75-3aaff4644081">160,160</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapital" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzktNC0xLTEtMA_ca1cef0f-1c3d-46c5-ba94-e2d4c062b92d">161,247</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">Accumulated other comprehensive (loss) income</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNDAtMi0xLTEtMA_ebc77985-2c4f-425f-ab8d-660e0d51016a">10</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNDAtNC0xLTEtMA_e7a3432c-2a13-45b8-aabe-02ce70a454c4">56</ix:nonFraction>&#160;</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"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Treasury stock, at cost, <ix:nonFraction unitRef="shares" contextRef="i266df8e2ba744fe9beac4c225c6c8da4_I20201231" decimals="INF" name="us-gaap:TreasuryStockShares" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNDEtMC0xLTEtMC90ZXh0cmVnaW9uOjBjYTQ4Njk5MzRjZTQxNGY5MTE2ZWI3MDQ0YTBkYzBiXzI5_03531abd-69e7-4b96-b62a-472d00050b92"><ix:nonFraction unitRef="shares" contextRef="i59ac7f950e9845f4a8c5cf34ace3451f_I20210630" decimals="INF" name="us-gaap:TreasuryStockShares" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNDEtMC0xLTEtMC90ZXh0cmVnaW9uOjBjYTQ4Njk5MzRjZTQxNGY5MTE2ZWI3MDQ0YTBkYzBiXzI5_5d4460ee-c074-4872-b3d0-ad4f17d68490">419</ix:nonFraction></ix:nonFraction> shares of Class A common stock as of June&#160;30, 2021 and December&#160;31, 2020</span></div></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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNDEtMi0xLTEtMA_ce0271ac-6f94-414b-bbaa-8b992270db4d">25,756</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNDEtNC0xLTEtMA_033623ce-a339-482d-8dd5-bb5e070e0051">25,756</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">Retained earnings</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNDItMi0xLTEtMA_1b1f72e3-fd1e-4ce3-9f10-252ed86d5a23">152,869</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNDItNC0xLTEtMA_8d4ece2e-8502-4a58-89ed-2b4817dd88c9">150,369</ix:nonFraction>&#160;</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 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total stockholders&#8217; equity</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNDMtMi0xLTEtMA_28f5617d-5fdd-47c3-836c-cec701100475">287,267</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNDMtNC0xLTEtMA_b71ab1c9-716b-4530-835d-916d9a7420a6">285,920</ix:nonFraction>&#160;</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 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities and stockholders&#8217; equity</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:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNDQtMi0xLTEtMA_5ed8157e-4d71-4963-843d-1c52e982d494">399,072</ix:nonFraction>&#160;</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:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNDQtNC0xLTEtMA_162e01ed-6577-4c62-b653-646c60e939a6">389,480</ix:nonFraction>&#160;</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:7pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying Notes to Condensed Consolidated Financial Statements are an integral part of these statements.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3</span></div></div></div><div id="i33d2ee1a81324077be4958e6cee29b3d_19"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">APPFOLIO, INC.</span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS </span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(UNAUDITED)</span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands, except per share amounts)</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</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:52.701%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></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: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:9.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:9.576%"></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%">&#160;</span></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%">&#160;</span></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%">2021</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%">2020</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%">2021</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%">2020</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%">Revenue</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%"><ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMi0xLTEtMS0w_c1541441-d24d-470e-b38b-504b8b4c7cbc">89,040</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMi0zLTEtMS0w_d80c74dc-4ac6-439d-8eeb-5a8cdc0a043d">81,043</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMi01LTEtMS0w_874543cd-bc15-4077-969f-cd8a7dc8ad00">167,961</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMi03LTEtMS0w_7de304c1-3772-4d62-9b11-6b053f78e38f">153,538</ix:nonFraction>&#160;</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%">Costs and operating expenses:</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="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 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenue (exclusive of depreciation and amortization)</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%"><ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNC0xLTEtMS0w_f17f6812-dbde-4ffe-9d43-e0ec80ee3eed">32,819</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNC0zLTEtMS0w_6e5db0df-a956-4307-8436-21ec9a9a1284">27,411</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNC01LTEtMS0w_1c3084db-8965-4562-8fda-3c0992292578">66,117</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNC03LTEtMS0w_001a963f-3eab-42a1-9a27-3aed011b975d">56,372</ix:nonFraction>&#160;</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 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</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%"><ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingAndMarketingExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNS0xLTEtMS0w_e3e3f8eb-6018-4767-ba05-e8603cd94113">17,714</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingAndMarketingExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNS0zLTEtMS0w_e1a13eda-dab9-42a9-8649-58b6021b80c5">13,717</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingAndMarketingExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNS01LTEtMS0w_ff1bc7e2-12c3-44e9-90e9-15c0cc9be302">33,893</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingAndMarketingExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNS03LTEtMS0w_9000602d-aa6d-4d46-98ef-3d48b81d28cc">28,223</ix:nonFraction>&#160;</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 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and product development</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%"><ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNi0xLTEtMS0w_fab6e7b7-8256-4f9a-9a87-6c3195640f0c">15,506</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNi0zLTEtMS0w_e01a466d-9345-4f1b-b8c7-3ebc4a1ff780">12,128</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNi01LTEtMS0w_ff5d0e2b-ece0-4513-b200-f349f8acbb1e">29,889</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNi03LTEtMS0w_8ba7a8ff-77e0-4693-8e8f-a4631ed0f22c">23,340</ix:nonFraction>&#160;</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 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">General and administrative</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%"><ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNy0xLTEtMS0w_90dd1542-07e0-449e-83c4-237ffd5fa7e4">14,206</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNy0zLTEtMS0w_0c135688-477a-461d-a421-e91a179ae1f0">14,785</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNy01LTEtMS0w_b587fb7f-90a5-454d-a988-966f652f3898">27,567</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNy03LTEtMS0w_15addc81-b318-4d3a-b461-b5eb635fb2f3">23,357</ix:nonFraction>&#160;</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 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Depreciation and amortization</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%"><ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfOC0xLTEtMS0w_7843296b-4514-467a-b65b-57dfdb8b785c">7,649</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfOC0zLTEtMS0w_56cfd6f2-2e74-439a-8df2-428e17536e71">6,657</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfOC01LTEtMS0w_6095ef11-8032-4127-b83d-50020e99d543">15,018</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfOC03LTEtMS0w_0dee9d0c-c364-40ba-a32a-b696c6be0996">13,071</ix:nonFraction>&#160;</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 37pt;text-align: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 costs and operating expenses</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%"><ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostsAndExpenses" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfOS0xLTEtMS0w_53c0ce0c-00ab-491b-92cb-a39a706fe8da">87,894</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;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="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%"><ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostsAndExpenses" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfOS0zLTEtMS0w_1dbd79b2-331f-4e81-ab72-41fe402ff589">74,698</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;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="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%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostsAndExpenses" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfOS01LTEtMS0w_dbd5c9a7-319a-4359-888e-071636ba1734">172,484</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;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="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%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostsAndExpenses" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfOS03LTEtMS0w_de4b1b72-0aa4-49b4-b784-3a864cf8d918">144,363</ix:nonFraction>&#160;</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%">Income (loss) from operations</span></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%"><ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTAtMS0xLTEtMA_6b952598-21a4-4073-8927-016eadad34cf">1,146</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTAtMy0xLTEtMA_0236967d-efe1-4740-876b-46c66832d7c2">6,345</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTAtNS0xLTEtMA_f0616f23-3684-4e88-a3d0-3c541fe375fc">4,523</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTAtNy0xLTEtMA_8681c776-d79f-4252-925a-1ed490508378">9,175</ix:nonFraction>&#160;</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%">Other income (loss), net</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%"><ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTEtMS0xLTEtMA_bf9843e5-8c70-4561-9778-94ae03abb4f3">496</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" sign="-" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTEtMy0xLTEtMA_4ab08952-d695-4748-a84f-8db2291edb02">10</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTEtNS0xLTEtMA_5d85e664-b039-4023-8e5e-08fda931237b">1,058</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTEtNy0xLTEtMA_f393542a-e95e-473b-b417-88af9fca73ad">12</ix:nonFraction>&#160;</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%">Interest income (expense), net</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%"><ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" name="us-gaap:InterestIncomeExpenseNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTItMS0xLTEtMA_bfe8b932-0bf5-4d6d-8044-9868e47cff15">55</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" sign="-" name="us-gaap:InterestIncomeExpenseNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTItMy0xLTEtMA_7fe8f13f-9de0-4915-a5be-7babe1c370e6">562</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" name="us-gaap:InterestIncomeExpenseNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTItNS0xLTEtMA_d224f4d5-1775-4201-9b65-b9da20d9226f">108</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:InterestIncomeExpenseNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTItNy0xLTEtMA_a3c11aa5-79da-40cf-8739-b8855b5910bc">1,056</ix:nonFraction>)</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%">Income (loss) before benefit from income taxes</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%"><ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTMtMS0xLTEtMA_4d27d5b4-3deb-4e9d-b309-4e0ae0c9718b">1,697</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;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="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%"><ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTMtMy0xLTEtMA_cd0f19be-4531-4a6e-8a88-155ee47e2d89">5,773</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;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="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%">(<ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTMtNS0xLTEtMA_1990d134-89ab-4ddf-a3b9-9de01a2caf91">3,357</ix:nonFraction>)</span></td><td style="background-color:#ffffff;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="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%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTMtNy0xLTEtMA_dbb2777e-b4df-4600-b184-e36696e7e69c">8,131</ix:nonFraction>&#160;</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%">Benefit from income taxes</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%">(<ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" sign="-" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTQtMS0xLTEtMA_fda48a28-3574-45c2-b8d4-0a87f2e5f073">324</ix:nonFraction>)</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%">(<ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTQtMy0xLTEtMA_d66d1acd-80d6-4aaf-8dcb-8960e8fbfc02">13,484</ix:nonFraction>)</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%">(<ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTQtNS0xLTEtMA_80e28647-1a3d-47e0-ab70-ec989c498cdc">5,857</ix:nonFraction>)</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%">(<ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTQtNy0xLTEtMA_077ef78a-3ce4-4490-b3b5-25fb595c31ff">13,109</ix:nonFraction>)</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%">Net income</span></td><td style="background-color:#ffffff;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-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%"><ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTUtMS0xLTEtMA_f8044018-85bc-4cf6-9b55-679cc0e996de">2,021</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;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-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-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%"><ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTUtMy0xLTEtMA_b7235b45-fdde-4611-9805-8c56818d1f36">19,257</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;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-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-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%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTUtNS0xLTEtMA_32e18385-a56c-4ae4-98e4-a5fddc0e429a">2,500</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;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-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-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%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTUtNy0xLTEtMA_a5748409-5817-418f-9c26-facd31ac72de">21,240</ix:nonFraction>&#160;</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 style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #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:3pt double #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:3pt double #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:3pt double #000000;padding:0 1pt"></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%">Net income per common share:</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="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 2px 19pt;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%">Basic</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%"><ix:nonFraction unitRef="usdPerShare" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTgtMS0xLTEtMA_6a5a7a06-8e52-4994-b2d4-6ddf584a4b0b">0.06</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usdPerShare" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTgtMy0xLTEtMA_21714c5c-395a-4391-884c-4196259d0191">0.56</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usdPerShare" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTgtNS0xLTEtMA_8c1fc5f6-2b24-46c3-bf97-f417c146352a">0.07</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usdPerShare" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTgtNy0xLTEtMA_c636db78-118b-49b6-a250-ede23e001c6c">0.62</ix:nonFraction>&#160;</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 19pt;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%">Diluted</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%"><ix:nonFraction unitRef="usdPerShare" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTktMS0xLTEtMA_c0d92b55-cd2c-4165-a02b-f5c4fc6f362b">0.06</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usdPerShare" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTktMy0xLTEtMA_3985a26b-6995-4107-9dff-7095839558de">0.54</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usdPerShare" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTktNS0xLTEtMA_92addf8c-0163-4805-a9ce-fdc157ec0608">0.07</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usdPerShare" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTktNy0xLTEtMA_3d97f2b7-c7a6-47e5-924d-cd1df8c5950e">0.60</ix:nonFraction>&#160;</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%">Weighted average common shares outstanding:</span></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><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 2px 19pt;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%">Basic</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%"><ix:nonFraction unitRef="shares" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMjEtMS0xLTEtMA_973c4382-c282-4920-b799-e90a5a1081b4">34,548</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="shares" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMjEtMy0xLTEtMA_bf561d48-d96e-4959-80c1-19e970e09426">34,254</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="shares" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMjEtNS0xLTEtMA_b0ce05a3-e5e2-4f22-ae2a-97079825a8a9">34,479</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="shares" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMjEtNy0xLTEtMA_14d091c7-5520-4c27-87d4-a23ef003d92f">34,214</ix:nonFraction>&#160;</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 19pt;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%">Diluted</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%"><ix:nonFraction unitRef="shares" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMjItMS0xLTEtMA_b3f34a5e-33b7-4d28-be15-a5fee34830e0">35,674</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="shares" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMjItMy0xLTEtMA_cc46b4da-8a46-425c-aa51-26af409071e5">35,614</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="shares" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMjItNS0xLTEtMA_5444d353-d86b-48df-93aa-ba48074525a7">35,697</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="shares" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMjItNy0xLTEtMA_7799ef80-d5fe-4f82-8a07-e7ccfea0c919">35,647</ix:nonFraction>&#160;</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-top:7pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying Notes to Condensed Consolidated Financial Statements are an integral part of these statements.</span></div><div style="margin-bottom:17pt;margin-top:17pt"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4</span></div></div></div><div id="i33d2ee1a81324077be4958e6cee29b3d_22"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="text-align:center"><span><br/></span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">APPFOLIO, INC.</span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(UNAUDITED)</span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></div><div style="text-align:center"><span><br/></span></div><div style="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:51.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></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.157%"></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.157%"></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.162%"></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%">&#160;</span></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%">&#160;</span></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%">2021</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%">2020</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%">2021</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%">2020</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%">Net income</span></td><td style="background-color:#cceeff;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-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%"><ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yMi9mcmFnOjE4OWExODA5NjczNTRjZGY5YmM1YTNjMzYwMWI4MmY2L3RhYmxlOjA3ZjQ0NDAwMGZmOTQ3N2JhMzkyMTgzY2Q2YzVhMjhlL3RhYmxlcmFuZ2U6MDdmNDQ0MDAwZmY5NDc3YmEzOTIxODNjZDZjNWEyOGVfMi0xLTEtMS0w_f8044018-85bc-4cf6-9b55-679cc0e996de">2,021</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;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-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%"><ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yMi9mcmFnOjE4OWExODA5NjczNTRjZGY5YmM1YTNjMzYwMWI4MmY2L3RhYmxlOjA3ZjQ0NDAwMGZmOTQ3N2JhMzkyMTgzY2Q2YzVhMjhlL3RhYmxlcmFuZ2U6MDdmNDQ0MDAwZmY5NDc3YmEzOTIxODNjZDZjNWEyOGVfMi0zLTEtMS0w_b7235b45-fdde-4611-9805-8c56818d1f36">19,257</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yMi9mcmFnOjE4OWExODA5NjczNTRjZGY5YmM1YTNjMzYwMWI4MmY2L3RhYmxlOjA3ZjQ0NDAwMGZmOTQ3N2JhMzkyMTgzY2Q2YzVhMjhlL3RhYmxlcmFuZ2U6MDdmNDQ0MDAwZmY5NDc3YmEzOTIxODNjZDZjNWEyOGVfMi01LTEtMS0w_32e18385-a56c-4ae4-98e4-a5fddc0e429a">2,500</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yMi9mcmFnOjE4OWExODA5NjczNTRjZGY5YmM1YTNjMzYwMWI4MmY2L3RhYmxlOjA3ZjQ0NDAwMGZmOTQ3N2JhMzkyMTgzY2Q2YzVhMjhlL3RhYmxlcmFuZ2U6MDdmNDQ0MDAwZmY5NDc3YmEzOTIxODNjZDZjNWEyOGVfMi03LTEtMS0w_f3ed0421-ab15-440a-bf0f-336e60b7c95f">21,240</ix:nonFraction>&#160;</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%">Other comprehensive income:</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="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%">&#160;&#160;&#160;&#160;Changes in unrealized (losses) gains on investment 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%">(<ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yMi9mcmFnOjE4OWExODA5NjczNTRjZGY5YmM1YTNjMzYwMWI4MmY2L3RhYmxlOjA3ZjQ0NDAwMGZmOTQ3N2JhMzkyMTgzY2Q2YzVhMjhlL3RhYmxlcmFuZ2U6MDdmNDQ0MDAwZmY5NDc3YmEzOTIxODNjZDZjNWEyOGVfNC0xLTEtMS0w_93e5bc25-074e-4804-bf58-e365075c00b5">48</ix:nonFraction>)</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%">(<ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yMi9mcmFnOjE4OWExODA5NjczNTRjZGY5YmM1YTNjMzYwMWI4MmY2L3RhYmxlOjA3ZjQ0NDAwMGZmOTQ3N2JhMzkyMTgzY2Q2YzVhMjhlL3RhYmxlcmFuZ2U6MDdmNDQ0MDAwZmY5NDc3YmEzOTIxODNjZDZjNWEyOGVfNC0zLTEtMS0w_65498362-efa1-4b49-a9a0-dddef5140a63">34</ix:nonFraction>)</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%">(<ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yMi9mcmFnOjE4OWExODA5NjczNTRjZGY5YmM1YTNjMzYwMWI4MmY2L3RhYmxlOjA3ZjQ0NDAwMGZmOTQ3N2JhMzkyMTgzY2Q2YzVhMjhlL3RhYmxlcmFuZ2U6MDdmNDQ0MDAwZmY5NDc3YmEzOTIxODNjZDZjNWEyOGVfNC01LTEtMS0w_c377a509-46b6-4f35-a5ed-8facb15a595a">66</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yMi9mcmFnOjE4OWExODA5NjczNTRjZGY5YmM1YTNjMzYwMWI4MmY2L3RhYmxlOjA3ZjQ0NDAwMGZmOTQ3N2JhMzkyMTgzY2Q2YzVhMjhlL3RhYmxlcmFuZ2U6MDdmNDQ0MDAwZmY5NDc3YmEzOTIxODNjZDZjNWEyOGVfNC03LTEtMS0w_ccfea721-ff5b-4e21-b615-bb7fb899efaf">98</ix:nonFraction>&#160;</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%">Comprehensive income</span></td><td style="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="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%"><ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yMi9mcmFnOjE4OWExODA5NjczNTRjZGY5YmM1YTNjMzYwMWI4MmY2L3RhYmxlOjA3ZjQ0NDAwMGZmOTQ3N2JhMzkyMTgzY2Q2YzVhMjhlL3RhYmxlcmFuZ2U6MDdmNDQ0MDAwZmY5NDc3YmEzOTIxODNjZDZjNWEyOGVfNS0xLTEtMS0w_5ef4bf80-9222-4106-85be-a37b62ae0d28">1,973</ix:nonFraction>&#160;</span></td><td style="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="padding:0 1pt"></td><td style="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="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%"><ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yMi9mcmFnOjE4OWExODA5NjczNTRjZGY5YmM1YTNjMzYwMWI4MmY2L3RhYmxlOjA3ZjQ0NDAwMGZmOTQ3N2JhMzkyMTgzY2Q2YzVhMjhlL3RhYmxlcmFuZ2U6MDdmNDQ0MDAwZmY5NDc3YmEzOTIxODNjZDZjNWEyOGVfNS0zLTEtMS0w_1574200e-d8aa-4c1a-9da9-94b1a815a3ad">19,223</ix:nonFraction>&#160;</span></td><td style="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="padding:0 1pt"></td><td style="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="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%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yMi9mcmFnOjE4OWExODA5NjczNTRjZGY5YmM1YTNjMzYwMWI4MmY2L3RhYmxlOjA3ZjQ0NDAwMGZmOTQ3N2JhMzkyMTgzY2Q2YzVhMjhlL3RhYmxlcmFuZ2U6MDdmNDQ0MDAwZmY5NDc3YmEzOTIxODNjZDZjNWEyOGVfNS01LTEtMS0w_146c8908-6a29-47c3-b893-e86425d7208b">2,434</ix:nonFraction>&#160;</span></td><td style="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%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yMi9mcmFnOjE4OWExODA5NjczNTRjZGY5YmM1YTNjMzYwMWI4MmY2L3RhYmxlOjA3ZjQ0NDAwMGZmOTQ3N2JhMzkyMTgzY2Q2YzVhMjhlL3RhYmxlcmFuZ2U6MDdmNDQ0MDAwZmY5NDc3YmEzOTIxODNjZDZjNWEyOGVfNS03LTEtMS0w_58fd0d5f-28d1-4666-b19a-a4bf75e54aa3">21,338</ix:nonFraction>&#160;</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:7pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying Notes to Condensed Consolidated Financial Statements are an integral part of these statements.</span></div><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5</span></div></div></div><div id="i33d2ee1a81324077be4958e6cee29b3d_25"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="margin-top:3pt;text-align:center"><span><br/></span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">APPFOLIO, INC.</span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY </span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(UNAUDITED)</span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></div><div style="margin-top:6pt;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:23.344%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.150%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.427%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.150%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.427%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.677%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.150%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.650%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.657%"></td><td style="width:0.1%"></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="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><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%">Accumulated</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></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="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><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%">Additional</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%">Other</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></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="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%">Common Stock</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%">Common Stock</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%">Paid-in</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%">Comprehensive</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%">Treasury</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%">Retained</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></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="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%">Class A</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%">Class B</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%">Capital</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%">Income (Loss)</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%">Stock</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%">Earnings</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%">Total</span></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="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%">Shares</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%">Amount</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%">Shares</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%">Amount</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></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="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:9pt;font-weight:700;line-height:100%">Balance at December 31, 2020</span></td><td colspan="2" style="background-color:#cceeff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="iadafe23d8a674865ac16ded0dd992701_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNS0xLTEtMS0w_3e07250b-cbd9-4b69-94b7-dbb5781327b3">18,729</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;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-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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iadafe23d8a674865ac16ded0dd992701_I20201231" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNS0zLTEtMS0w_1576cff9-d5ec-482d-af0b-451933d5cd74">2</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;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="2" style="background-color:#cceeff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i36d2ff2f3c4f4972993d5cbc515e2e58_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNS01LTEtMS0w_5538f3d2-1711-4200-9be5-f2b2962da428">15,659</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;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-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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i36d2ff2f3c4f4972993d5cbc515e2e58_I20201231" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNS03LTEtMS0w_d18a9cb5-654c-425d-a30a-205d13e6fa5a">2</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if8563cf58925411fab60663753d84d5a_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNS05LTEtMS0w_39923082-caa5-4064-9774-49dfa3ba3704">161,247</ix:nonFraction>&#160;</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:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7a1dda38688549b3a694c01a41649bcb_I20201231" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNS0xMS0xLTEtMA_bac44204-f881-4626-8f41-6b7a683dcbf6">56</ix:nonFraction>&#160;</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:9pt;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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i36838ad0aa9e42bc8d336aeebe97d3b3_I20201231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNS0xMy0xLTEtMA_1083f7c7-b311-4bff-975e-ccdf36caba10">25,756</ix:nonFraction>)</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:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id26b681fd07d4da1926257554782cea3_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNS0xNS0xLTEtMA_fe6f0352-f900-4e6d-9968-52174eb1eb5f">150,369</ix:nonFraction>&#160;</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:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNS0xNy0xLTEtMA_7bcf46e7-d188-4735-aa23-f0181ad69202">285,920</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:9pt;font-weight:400;line-height:100%">Exercise of stock options</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ie626ef575f8648359688670c77022114_D20210101-20210331" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNi0xLTEtMS0w_57312cef-fb49-4573-bf19-0b5dd52385bb">23</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0d699ee7e10b429ba9cda7689caf4ce7_D20210101-20210331" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNi05LTEtMS0w_b512a8c2-8a32-4ab8-a69a-b558968d4fd5">100</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iebb5837e5b9a487b8ca7baac6916b06b_D20210101-20210331" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNi0xNy0xLTEtMA_cd2a10f0-3d57-44b7-a0b3-ed38d1fa22e3">100</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:9pt;font-weight:400;line-height:100%">Stock-based compensation</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0d699ee7e10b429ba9cda7689caf4ce7_D20210101-20210331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNy05LTEtMS0w_6a7c4a63-b47d-4a9b-abc5-941ffca84d4d">3,295</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iebb5837e5b9a487b8ca7baac6916b06b_D20210101-20210331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNy0xNy0xLTEtMA_e1512bd9-6f61-4e25-a368-c3697c4f23ab">3,295</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:9pt;font-weight:400;line-height:100%">Vesting of restricted stock units, net of shares withheld for taxes</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ie626ef575f8648359688670c77022114_D20210101-20210331" decimals="-3" name="appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfOC0xLTEtMS0w_09c38070-f2f6-4ba9-b043-85306fc8a4eb">42</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0d699ee7e10b429ba9cda7689caf4ce7_D20210101-20210331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfOC05LTEtMS0w_4f6d5818-7542-4af2-ac8b-b3654bd38964">3,992</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iebb5837e5b9a487b8ca7baac6916b06b_D20210101-20210331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfOC0xNy0xLTEtMA_4fde2fd9-e7e6-4ece-af8a-8d8e5c5dc889">3,992</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:9pt;font-weight:400;line-height:100%">Conversion of Class B stock to Class A stock</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ie626ef575f8648359688670c77022114_D20210101-20210331" decimals="-3" name="us-gaap:ConversionOfStockSharesConverted1" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfOS0xLTEtMS0w_f77ba6cd-0f84-4a77-b056-915962144b03">108</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i1fc1c5e7ccfe43588b2edf253fe8de00_D20210101-20210331" decimals="-3" sign="-" name="us-gaap:ConversionOfStockSharesConverted1" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfOS01LTEtMS0w_e29c0dff-db98-4410-be3f-e9ff3de46419">108</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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><td colspan="3" style="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><td colspan="3" style="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:9pt;font-weight:400;line-height:100%">Other comprehensive loss</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i16d67d5033744b9e924767350d564ee0_D20210101-20210331" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTEtMTEtMS0xLTA_40675418-2852-4229-ab38-24af530e88a0">18</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iebb5837e5b9a487b8ca7baac6916b06b_D20210101-20210331" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTEtMTctMS0xLTA_311f518d-f22e-42a2-b003-5cf46156ff64">18</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:9pt;font-weight:400;line-height:100%">Net income</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib2fce70f815f4f1686ebac5c115cfe5b_D20210101-20210331" decimals="-3" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTItMTUtMS0xLTA_c5d1cd74-6587-4187-8679-891faa870cba">479</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iebb5837e5b9a487b8ca7baac6916b06b_D20210101-20210331" decimals="-3" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTItMTctMS0xLTA_86ad8535-f4f7-46c2-8310-783c42415738">479</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:9pt;font-weight:700;line-height:100%">Balance at March 31, 2021</span></td><td colspan="2" style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i2f93918e87a74100929771acd285b138_I20210331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTMtMS0xLTEtMA_97cd6d66-0768-4833-9ead-df74f857a326">18,902</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;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-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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2f93918e87a74100929771acd285b138_I20210331" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTMtMy0xLTEtMA_8be9c650-faf5-4229-8c0f-3e6dfba12186">2</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;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 colspan="2" style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i1d6cf4a9587a4a2386c918a0c39d0c0e_I20210331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTMtNS0xLTEtMA_b3b00965-a7d6-4316-93ed-dde6437cd8ae">15,551</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;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-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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1d6cf4a9587a4a2386c918a0c39d0c0e_I20210331" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTMtNy0xLTEtMA_d1dac969-4d63-446a-a36f-b6bfc1ca113e">2</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;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-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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idcda3eedde3b44d0852f60b88fd06383_I20210331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTMtOS0xLTEtMA_fb165e7e-64e7-4ba1-9fd6-802e0b455ca4">160,650</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;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-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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia4550210957b49e0b4f3d48d73e71851_I20210331" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTMtMTEtMS0xLTA_b5b47341-bed1-47f9-8c48-f0077eedce68">38</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;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-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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ia39cc8333f4d409291e8d684b18fe62f_I20210331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTMtMTMtMS0xLTA_9c37fb14-a21a-43e2-b710-4ac4a0fc9b67">25,756</ix:nonFraction>)</span></td><td style="background-color:#ffffff;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-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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i767e759cac2e4948b76efad220fc1043_I20210331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTMtMTUtMS0xLTA_4f048c76-6c79-4b21-a5bf-dd2dd6c0d57b">150,848</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;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-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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i951e690537cd4f74905f8f057b259fba_I20210331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTMtMTctMS0xLTA_b2e93ea6-a76e-4753-8ae8-7fb1a7b4ac14">285,784</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:9pt;font-weight:400;line-height:100%">Exercise of stock options</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i688a96cc0fa64690b5f01603ed62fb6d_D20210401-20210630" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTQtMS0xLTEtMTA1_1662abe5-8e07-4b06-900e-e5f3f4f76e30">13</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i5f78a4b6c4ba4096845c1f93d1947e15_D20210401-20210630" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTQtNS0xLTEtMTA1_d8751c93-954a-4a39-a032-4bc7618dd462">84</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idac8d27a9ec4465ba13547966661b07d_D20210401-20210630" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTQtOS0xLTEtMTA1_2caa3e56-5d0d-4044-a896-3b0a06233b86">545</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTQtMTctMS0xLTEwNQ_6fb92b14-d952-41ab-b876-88ea819e9023">545</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:9pt;font-weight:400;line-height:100%">Stock-based compensation</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idac8d27a9ec4465ba13547966661b07d_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTUtOS0xLTEtMTA1_772df547-c098-4241-b436-848d57ebb767">3,873</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTUtMTctMS0xLTEwNQ_562f9536-0152-44b4-9ea1-d499d6a29e25">3,873</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:9pt;font-weight:400;line-height:100%">Vesting of restricted stock units, net of shares withheld for taxes</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i688a96cc0fa64690b5f01603ed62fb6d_D20210401-20210630" decimals="-3" name="appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTYtMS0xLTEtMTA1_4837c63f-0364-4f91-89c3-d1ffe00f0d47">56</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="idac8d27a9ec4465ba13547966661b07d_D20210401-20210630" decimals="-3" sign="-" format="ixt:numdotdecimal" name="appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTYtOS0xLTEtMTA1_0979265e-edb4-4819-8913-12c0c823f554">4,908</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" sign="-" format="ixt:numdotdecimal" name="appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTYtMTctMS0xLTEwNQ_9822e3c1-dbaa-40c8-b135-89424f2425fd">4,908</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:9pt;font-weight:400;line-height:100%">Conversion of Class B stock to Class A stock</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i688a96cc0fa64690b5f01603ed62fb6d_D20210401-20210630" decimals="-3" name="us-gaap:ConversionOfStockSharesConverted1" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTctMS0xLTEtMTA1_d279f85d-7344-459c-9a05-ffa4a44ce9a1">14</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i5f78a4b6c4ba4096845c1f93d1947e15_D20210401-20210630" decimals="-3" sign="-" name="us-gaap:ConversionOfStockSharesConverted1" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTctNS0xLTEtMTA1_4763f191-1e6d-4b33-ada7-98600550b1d4">14</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:9pt;font-weight:400;line-height:100%">Issuance of restricted stock awards</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i688a96cc0fa64690b5f01603ed62fb6d_D20210401-20210630" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTgtMS0xLTEtMTA1_89b05afe-4665-4370-b7a0-7b9218a50db1">4</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:9pt;font-weight:400;line-height:100%">Other comprehensive loss</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i34ff8464d68c4b41b9cdd07a425b9688_D20210401-20210630" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTktMTEtMS0xLTEwNQ_223433aa-c63f-4af9-848d-f8fff034b7a0">48</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTktMTctMS0xLTEwNQ_1c48e1a8-6977-4b27-b89f-b395d8f4f8b6">48</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:9pt;font-weight:400;line-height:100%">Net income</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1576f7b1a14947119362008901a8a59d_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMjAtMTUtMS0xLTEwNQ_9c5ffa1a-cb74-4cf6-a51a-dcdf880566a3">2,021</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMjAtMTctMS0xLTEwNQ_70c4d53f-4b2b-43e0-91b6-284dc234ad4a">2,021</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:9pt;font-weight:700;line-height:100%">Balance at June 30, 2021</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="iea93ba2a4e8d4bda904b7596eba42bd4_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMjEtMS0xLTEtMTA1_84c261c7-d70d-422f-af0f-4dedd16e0e1d">18,989</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iea93ba2a4e8d4bda904b7596eba42bd4_I20210630" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMjEtMy0xLTEtMTA1_48c1cfd1-d483-4fed-b357-53d338506dff">2</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="id5c0c1c439054b18b1c35b41de34da49_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMjEtNS0xLTEtMTA1_9d49f941-3958-4617-a68e-317460855cf4">15,621</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id5c0c1c439054b18b1c35b41de34da49_I20210630" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMjEtNy0xLTEtMTA1_109b2e11-e915-478f-8bff-757880bd6f92">2</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i89417483569f4f3f93b94fecad35c667_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMjEtOS0xLTEtMTA1_b1a5d6e3-5a5e-4e68-8107-c9e9ceb2b2b0">160,160</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="id1c61cbee6fe4c9ea24bbe2a152a41e0_I20210630" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMjEtMTEtMS0xLTEwNQ_9a0141ef-59b5-4918-8933-dac28b5c17c5">10</ix:nonFraction>)</span></td><td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i4da7eb8f55e84c2196ef7a2591b3af44_I20210630" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMjEtMTMtMS0xLTEwNQ_82cd4cf9-dab3-4d62-9f74-111f0395e267">25,756</ix:nonFraction>)</span></td><td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie34ebf95970749fcb59d06facf20b7ed_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMjEtMTUtMS0xLTEwNQ_8752d787-61d6-4750-87d5-638c918f31e1">152,869</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMjEtMTctMS0xLTEwNQ_6a3d7ebb-af3c-4e96-b5c6-67c0d27b9d82">287,267</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;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="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:1pt;text-align:center"><span><br/></span></div><div style="margin-top:6pt;text-align:center"><span><br/></span></div><div style="margin-top:6pt;text-align:center"><span><br/></span></div><div style="margin-top:6pt;text-align:center"><span><br/></span></div><div style="margin-top:6pt;text-align:center"><span><br/></span></div><div style="margin-top:6pt;text-align:center"><span><br/></span></div><div style="margin-top:6pt;text-align:center"><span><br/></span></div><div style="margin-top:6pt;text-align:center"><span><br/></span></div><div style="margin-top:6pt;text-align:center"><span><br/></span></div><div style="margin-top:6pt;text-align:center"><span><br/></span></div><div style="margin-top:6pt;text-align:center"><span><br/></span></div><div style="margin-top:6pt;text-align:center"><span><br/></span></div><div style="margin-top:6pt;text-align:center"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="margin-top:3pt;text-align:center"><span><br/></span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:174%">APPFOLIO, INC.</span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY </span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(UNAUDITED)</span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></div><div style="margin-top:6pt;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:21.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.150%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.705%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.150%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.705%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.150%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.816%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.761%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.494%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.518%"></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:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><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%">Accumulated</span></td><td colspan="3" style="padding:0 1pt"></td><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%">(Accumulated</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><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%">Additional</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%">Other</span></td><td colspan="3" style="padding:0 1pt"></td><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%">Deficit)/</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></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%">Common Stock</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%">Common Stock</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%">Paid-in</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%">Comprehensive</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%">Treasury</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%">Retained</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></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%">Class A</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%">Class B</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%">Capital</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%">Income</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%">Stock</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%">Earnings</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%">Total</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%">Shares</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%">Amount</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%">Shares</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%">Amount</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;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:9pt;font-weight:700;line-height:100%">Balance at December 31, 2019</span></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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ie71946e53a9141c2985262e73f21d211_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNS0xLTEtMS0w_fdda3051-c68d-4288-b1d5-4eb61aafbc2b">16,552</ix:nonFraction>&#160;</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:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie71946e53a9141c2985262e73f21d211_I20191231" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNS0zLTEtMS0w_f777b5f7-a37e-40a7-ad16-5ac52de38f68">2</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ia273b335fdc34a00b7391ca01d20930c_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNS01LTEtMS0w_6bd69581-349a-48ac-ace9-2d1739e37fed">17,594</ix:nonFraction>&#160;</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:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia273b335fdc34a00b7391ca01d20930c_I20191231" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNS03LTEtMS0w_ca16892d-8e30-432e-815f-c9fcf8623251">2</ix:nonFraction>&#160;</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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i95fe3b7512dc4aea8492ab7094c19fba_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNS05LTEtMS0w_4c31d7a8-1638-4cd8-8b41-adeebd4452d7">161,509</ix:nonFraction>&#160;</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:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib8d1090c69c54463bf96403d5d680915_I20191231" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNS0xMS0xLTEtMA_1e7c0d65-1b0e-459c-b876-7999c5c546a4">33</ix:nonFraction>&#160;</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:9pt;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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iecd37b0440934f2e973412c6e7ff378e_I20191231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNS0xMy0xLTEtMA_f771d9dc-2277-47f7-9b12-2a6187560b12">21,562</ix:nonFraction>)</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:9pt;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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9a3f8e84d0a84915b5c2f575445318bb_I20191231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNS0xNS0xLTEtMA_e6ce450e-eccb-4d0a-b01b-9ef3b94d3aaa">8,034</ix:nonFraction>)</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:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i473e347ebb55401dbe2a6897a4960ac2_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNS0xNy0xLTEtMA_b14ff3ef-eb04-4f1d-bb57-1c3d4ce0c3f2">131,950</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">Exercise of stock options</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="if527286e411c499c8fa3f829e9f8f1a5_D20200101-20200331" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNi0xLTEtMS0w_071b7e2d-7222-459e-a874-1cf2d76a2e46">17</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9a77525dc55446f485f3031569489596_D20200101-20200331" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNi05LTEtMS0w_55e3b8d5-5285-4238-aeef-947b2714f8b6">97</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie12b07a296d44bc8bf5867ead97026a9_D20200101-20200331" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNi0xNy0xLTEtMA_92181ff6-5b98-4352-8170-0f4dc3bc3e07">97</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">Stock-based compensation</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9a77525dc55446f485f3031569489596_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNy05LTEtMS0w_b8228d96-1497-4967-8c80-4b9c600a4337">1,365</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie12b07a296d44bc8bf5867ead97026a9_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNy0xNy0xLTEtMA_01606a93-a767-43ee-8414-a1321bd17aea">1,365</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">Vesting of restricted stock units, net of shares withheld for taxes</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="if527286e411c499c8fa3f829e9f8f1a5_D20200101-20200331" decimals="-3" name="appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfOC0xLTEtMS0w_19f70ba5-49c2-4e66-a41d-b8eb0cc67cf9">91</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9a77525dc55446f485f3031569489596_D20200101-20200331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfOC05LTEtMS0w_f7c1aba2-05a6-4a46-8768-6ea010db5fa7">6,458</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie12b07a296d44bc8bf5867ead97026a9_D20200101-20200331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfOC0xNy0xLTEtMA_203756a7-ec46-48b3-a0f8-39b4328dd107">6,458</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">Conversion of Class B stock to Class A stock</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="if527286e411c499c8fa3f829e9f8f1a5_D20200101-20200331" decimals="-3" name="us-gaap:ConversionOfStockSharesConverted1" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfOS0xLTEtMS0w_2be3363b-7e70-4ff6-baf5-968cdcb94b80">58</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="id47cc0b87fcc4a55864b665cf98fa38f_D20200101-20200331" decimals="-3" sign="-" name="us-gaap:ConversionOfStockSharesConverted1" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfOS01LTEtMS0w_e9460b0b-a604-4f49-8271-694616d45a36">58</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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><td colspan="3" style="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><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:9pt;font-weight:400;line-height:100%">Other comprehensive income</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i855304e84fd545f49dfc0cb3cdff89c7_D20200101-20200331" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTEtMTEtMS0xLTA_d4b4ade7-c4d0-4f0a-8370-5c72daa3e055">132</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie12b07a296d44bc8bf5867ead97026a9_D20200101-20200331" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTEtMTctMS0xLTA_41123b33-381c-4fc8-ade7-f1fbabd63976">132</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">Repurchase of common stock</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="if527286e411c499c8fa3f829e9f8f1a5_D20200101-20200331" decimals="-3" name="us-gaap:TreasuryStockSharesAcquired" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTItMS0xLTEtMA_e60bc188-172f-4d9d-9a72-f20afe5164d0">48</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i35f2c1d7a83a46768e2024796d1d6c1a_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTItMTMtMS0xLTA_10729296-0cba-4d6e-89ee-684bf8f9f3b3">4,194</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie12b07a296d44bc8bf5867ead97026a9_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTItMTctMS0xLTA_9206ea66-2a48-4e0b-a59b-006d85046825">4,194</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">Net income</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id9d4e831a6ac423ea3aa3bcf5feca1c6_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTMtMTUtMS0xLTA_66cc4b44-e3a3-427b-b7cd-bde1dbea2f29">1,983</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie12b07a296d44bc8bf5867ead97026a9_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTMtMTctMS0xLTA_cc803e82-5a0d-4283-9b45-45bfc2c6a30e">1,983</ix:nonFraction>&#160;</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:9pt;font-weight:700;line-height:100%">Balance as of March 31, 2020</span></td><td colspan="2" style="background-color:#cceeff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ia85a1f2e921d4265a9cc9d099db97606_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTQtMS0xLTEtMA_4d0ce5c1-54ec-4052-9e93-a6c360b7f0d7">16,670</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;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-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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia85a1f2e921d4265a9cc9d099db97606_I20200331" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTQtMy0xLTEtMA_8cecb4c3-8494-4a62-add6-e9093b7c3df2">2</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;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="2" style="background-color:#cceeff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i457171b76e044c8fba5f470457019be9_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTQtNS0xLTEtMA_d385af42-8178-44a9-a96f-569ff0a7d0b0">17,536</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;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-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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i457171b76e044c8fba5f470457019be9_I20200331" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTQtNy0xLTEtMA_96669a74-d620-4f2f-8ad9-fed0a577f84f">2</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;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-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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i87a02771c61f4dd9a752778100df2f07_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTQtOS0xLTEtMA_3e40bd9e-22fa-44b3-b849-470edd67ea83">156,513</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;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-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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0900b5202d9047f697cded080df512f8_I20200331" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTQtMTEtMS0xLTA_bf4c79d1-4f0f-4cf7-a49d-7ef8e34cb0e1">165</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;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-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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ia15e38c402a441579cb08c945f46e4c8_I20200331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTQtMTMtMS0xLTA_effee553-0e4a-4c0a-8f2e-c353e5094e88">25,756</ix:nonFraction>)</span></td><td style="background-color:#cceeff;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-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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3e68eab6c9ae45ff807d53b070357da1_I20200331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTQtMTUtMS0xLTA_03eae250-a690-4364-b32c-a88e2ddb2670">6,051</ix:nonFraction>)</span></td><td style="background-color:#cceeff;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-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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i274be8f03a0f4a2fb24c52b61b7e4c5d_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTQtMTctMS0xLTA_968111fd-8b3e-4f0d-be7b-46ab8d6bb2d9">124,875</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;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:9pt;font-weight:400;line-height:100%">Exercise of stock options</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i56ec066694d84fa08df38cbfe9d800a8_D20200401-20200630" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTUtMS0xLTEtMTQ1_76299c75-852d-4e9d-a6c5-cdf60e9d8a95">32</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8a4b27fb1f47494f9780a3c635177b5f_D20200401-20200630" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTUtOS0xLTEtMTQ1_4c79cb25-bdee-4bb8-abee-35b4990c62dd">232</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTUtMTctMS0xLTE0NQ_a0c9bc17-08cc-450b-9d39-9389383b712f">232</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">Stock-based compensation</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8a4b27fb1f47494f9780a3c635177b5f_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTYtOS0xLTEtMTQ1_4b3a8b2b-4bc3-482e-b024-340e0035d711">3,406</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTYtMTctMS0xLTE0NQ_03b01ffc-a1b0-4a35-8b4e-1666033c7d78">3,406</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">Vesting of restricted stock units, net of shares withheld for taxes</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i56ec066694d84fa08df38cbfe9d800a8_D20200401-20200630" decimals="-3" name="appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTctMS0xLTEtMTQ1_3b997d1a-ede6-463d-849c-857e1db61568">50</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i8a4b27fb1f47494f9780a3c635177b5f_D20200401-20200630" decimals="-3" sign="-" format="ixt:numdotdecimal" name="appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTctOS0xLTEtMTQ1_1ee53cba-71ce-4de7-89a9-a93e64cf4bc2">3,232</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" sign="-" format="ixt:numdotdecimal" name="appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTctMTctMS0xLTE0NQ_c42ccd38-0601-4367-835e-276c37204203">3,232</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">Conversion of Class B stock to Class A stock</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i56ec066694d84fa08df38cbfe9d800a8_D20200401-20200630" decimals="-3" name="us-gaap:ConversionOfStockSharesConverted1" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTgtMS0xLTEtMTQ1_8fa0f5ba-8112-4318-8b5d-6e5f324c63f0">197</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i527030bb95f64d4895deefedbb80e718_D20200401-20200630" decimals="-3" sign="-" name="us-gaap:ConversionOfStockSharesConverted1" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTgtNS0xLTEtMTQ1_dd59e597-b120-422c-afd1-51e6a0b5adc9">197</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">Issuance of restricted stock awards</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i56ec066694d84fa08df38cbfe9d800a8_D20200401-20200630" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTktMS0xLTEtMTQ1_fd60af26-63bc-4485-992d-0f21b923deb3">3</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">Other comprehensive loss</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i87ccda2d238e43089e7b3dbbcb3b9459_D20200401-20200630" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMjAtMTEtMS0xLTE0NQ_7fb1c0b7-b095-4e07-8675-d141d7665bf6">34</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMjAtMTctMS0xLTE0NQ_af694ad5-bf85-4319-ac93-51874eea016c">34</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">Net income</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%">&#8212;&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1b127436d3594dfeabed2fd67aa687fa_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMjEtMTUtMS0xLTE0NQ_8287deae-3b97-4e84-b252-6781c2017a44">19,257</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMjEtMTctMS0xLTE0NQ_f0114d5b-07b6-41dd-973c-2655434edd0a">19,257</ix:nonFraction>&#160;</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:9pt;font-weight:700;line-height:100%">Balance as of June 30, 2020</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i721e90dffc76488889c8a058865d8e39_I20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMjItMS0xLTEtMTQ1_eef27994-c24d-4ca3-9827-dbebc7af842e">16,952</ix:nonFraction>&#160;</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:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i721e90dffc76488889c8a058865d8e39_I20200630" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMjItMy0xLTEtMTQ1_82423a6a-a59a-4b7c-b2b5-f63c7288a3c0">2</ix:nonFraction>&#160;</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="2" style="background-color:#cceeff;border-bottom:3pt double #000;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i7e8708cf3bfd4ba0ba4fd7adf2ad2263_I20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMjItNS0xLTEtMTQ1_24e1b38b-5a02-463b-a128-6f883408af7a">17,339</ix:nonFraction>&#160;</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:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7e8708cf3bfd4ba0ba4fd7adf2ad2263_I20200630" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMjItNy0xLTEtMTQ1_30a14996-0dbc-495b-a27e-3d4f1db391d8">2</ix:nonFraction>&#160;</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:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i61e3fa5e6e8b4fc0b24d94bcf00a52fb_I20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMjItOS0xLTEtMTQ1_af20802a-54da-49d5-afed-c3285ae0fa02">156,919</ix:nonFraction>&#160;</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:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7298f901442042a5b2a441bdb590f938_I20200630" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMjItMTEtMS0xLTE0NQ_66abcd90-1e1f-4772-806c-6bcd3227eccc">131</ix:nonFraction>&#160;</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:9pt;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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i66bc4798416b40a8a5c388e071ab0c14_I20200630" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMjItMTMtMS0xLTE0NQ_c9f5544a-21be-4fc4-acbf-f6ebe5752a5b">25,756</ix:nonFraction>)</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:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7cf590c47d5e47189e9e02c7c5d87fc2_I20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMjItMTUtMS0xLTE0NQ_8d5d593f-68e5-473a-8dca-2e7247798e82">13,206</ix:nonFraction>&#160;</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:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i988c1fbc446e44d2bab95dfcf6db2d16_I20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMjItMTctMS0xLTE0NQ_beacee48-57cb-4520-9004-65a934662ec2">144,504</ix:nonFraction>&#160;</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-top:7pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:174%">The accompanying Notes to Condensed Consolidated Financial Statements are an integral part of these statements.</span></div><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7</span></div></div></div><div id="i33d2ee1a81324077be4958e6cee29b3d_28"></div><hr style="page-break-after:always"/><div style="min-height:31.5pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="margin-top:3pt;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:74.777%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></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.598%"></td><td style="width:0.1%"></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="12" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">APPFOLIO, INC.</span></div></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="12" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS </span></div></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="12" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(UNAUDITED)</span></div></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="12" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></div></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 style="height:21pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:0 1pt"></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="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></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><td colspan="3" style="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="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">2020</span></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:9pt;font-weight:700;line-height:100%">Cash from operating activities</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="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:9pt;font-weight:400;line-height:100%">Net income</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:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfOC0xLTEtMS0w_c509ee00-b4c6-4f50-9744-c53660fa1388">2,500</ix:nonFraction>&#160;</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:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfOC0zLTEtMS0w_b1ae8981-9bff-4559-8556-3f3b92798258">21,240</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:9pt;font-weight:400;line-height:100%">Adjustments to reconcile net income to net cash provided by operating activities:</span></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><td colspan="3" style="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 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Depreciation and amortization</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="appf:DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTAtMS0xLTEtMA_8e90a09c-417d-400f-b20b-375f87283409">15,018</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="appf:DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTAtMy0xLTEtMA_dc31171b-458f-4c86-a797-919edcf71b25">13,071</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Amortization of operating lease right-of-use assets</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="appf:AmortizationOfOperatingLeaseRightOfUseAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTEtMS0xLTEtMA_8399e15d-cde5-49ae-aa6d-c18139e85011">1,399</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="appf:AmortizationOfOperatingLeaseRightOfUseAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTEtMy0xLTEtMA_4803830e-ac22-49c9-8f61-38487ac006d3">2,071</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred income taxes</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTItMS0xLTEtMA_2f76e22e-3ba5-4e3a-9523-72761349c920">6,086</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTItMy0xLTEtMA_696175e3-8400-463e-98aa-d5ec5610dc56">13,137</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock-based compensation</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTMtMS0xLTEtMA_28b3e0b0-7d3e-413d-b6b3-25d19d6a7b8d">5,990</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTMtMy0xLTEtMA_d5c1d3e6-72e9-4318-a580-29bb573ec6c2">3,712</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" name="us-gaap:OtherNoncashIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTQtMS0xLTEtMA_404b2d50-a94e-4ed9-8b79-2b23a59f0711">579</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" name="us-gaap:OtherNoncashIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTQtMy0xLTEtMA_cf6d8152-e1c0-4d9f-8a2b-79f794442ed4">30</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Changes in operating assets and liabilities:</span></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><td colspan="3" style="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 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts receivable</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTctMS0xLTEtMA_7dc3febd-677a-4536-88d1-8971c1b6cd4b">4,007</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTctMy0xLTEtMA_da5be256-63d9-438c-9b24-341ad53d7ef2">5,136</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTgtMS0xLTEtMA_474bfbbf-bb4c-4a78-8996-028839b63fdd">2,171</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTgtMy0xLTEtMA_03115073-b800-4eae-ba32-6225b96afcf9">292</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other assets</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTktMS0xLTEtMA_ada7e875-5027-477d-b3db-5362e20dda83">982</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTktMy0xLTEtMA_1a244e22-b6b0-4575-ac92-dbc0a8c1dc78">107</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts payable</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjAtMS0xLTEtMA_aa8013b3-a0f3-4f15-b37a-568e4162572e">1,301</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjAtMy0xLTEtMA_67bb4dbd-4ef9-4b3f-81f0-d29e280a1f74">193</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued employee expenses&#8212;current</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjEtMS0xLTEtMA_12fe00c0-8ee3-499e-8d09-b045219cfed8">7,638</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjEtMy0xLTEtMA_95d7436d-ad34-4f23-9e34-61033fdc0509">717</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued expenses</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherAccruedLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjItMS0xLTEtMA_c629a9da-fcf5-42db-a5ca-481aa0284d8d">3,047</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherAccruedLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjItMy0xLTEtMA_40fed09c-aed4-4a3b-9e3f-1198480b52bf">4,534</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred revenue</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjMtMS0xLTEtMA_03875f8b-c853-4da2-894d-077a9bde647a">33</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjMtMy0xLTEtMA_bc87d58f-29a5-433d-8124-1380ab1452e7">532</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Income tax payable</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjQtMS0xLTEtMA_e880ed4f-35fb-4757-b674-d1a412c8075a">9,029</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:zerodash" name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjQtMy0xLTEtMA_fb69968e-502e-4010-91a2-902f30c733ac">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other current 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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherCurrentLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjUtMS0xLTEtMA_982cbc4c-cc5a-4c58-9e50-14680a8a97ca">30</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherCurrentLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjUtMy0xLTEtMA_dda56d9f-3ca5-4d67-8039-a0ad21ca552c">100</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued employee expenses&#8212;noncurrent</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" name="appf:IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjYtMS0xLTEtMA_ac94fada-2e1c-4d41-8228-7689336fdd2c">968</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:zerodash" name="appf:IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjYtMy0xLTEtMA_e5499d34-87c4-46d8-bf21-31688e4244c2">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="appf:IncreaseDecreaseInOperatingLeases" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjctMS0xLTEtMA_0a3f1480-df90-4bad-9ffd-902f91dfcde5">1,685</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" sign="-" name="appf:IncreaseDecreaseInOperatingLeases" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjctMy0xLTEtMA_9d97f85d-5b6a-4ec6-b52b-396dc376e15f">92</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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 61.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net cash provided by operating activities</span></td><td colspan="2" style="background-color:#cceeff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjgtMS0xLTEtMA_b052ba1c-904d-4328-a6f7-8685b539c6ed">10,661</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;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="2" style="background-color:#cceeff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjgtMy0xLTEtMA_30fa1a78-56b9-47d4-801c-1b6d61973c82">27,376</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:9pt;font-weight:700;line-height:100%">Cash from investing activities</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;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="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:9pt;font-weight:400;line-height:100%">Purchases of available-for-sale investments</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMzAtMS0xLTEtMA_3d41d963-2e8c-4d6a-ac15-539b46fe9305">148,293</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMzAtMy0xLTEtMA_7b870a78-4504-44e3-963c-70c7d473c0da">13,389</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:9pt;font-weight:400;line-height:100%">Proceeds from sales of available-for-sale investments</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMzEtMS0xLTEtMA_614cc4bf-be83-422d-82b9-94457aeeb779">42,198</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMzEtMy0xLTEtMA_1cc867e4-3e4f-4c5f-a2a4-1726cac2233d">13,942</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:9pt;font-weight:400;line-height:100%">Proceeds from maturities of available-for-sale investments</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMzItMS0xLTEtMA_e32e7546-9f11-4d7c-8c0e-e18198148d1c">26,750</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMzItMy0xLTEtMA_8d942d8f-6b68-4943-a9dc-cd26db47d8be">7,750</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:9pt;font-weight:400;line-height:100%">Purchases of property, equipment and intangible assets</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMzMtMS0xLTEtMA_7f09a462-8b88-4e11-b6b1-43da1129a87e">2,804</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMzMtMy0xLTEtMA_3c067afb-233d-4367-ab12-aaad6519e2cf">14,306</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:9pt;font-weight:400;line-height:100%">Capitalization of software development costs</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToDevelopSoftware" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMzQtMS0xLTEtMA_c15b8391-b004-4586-933c-563785545af2">11,911</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToDevelopSoftware" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMzQtMy0xLTEtMA_4916c6fc-df11-4a16-b1d4-06745ad78f0a">12,709</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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><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 2px 61.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net cash used in investing activities</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMzgtMS0xLTEtMA_c7e08f71-fe23-4756-969c-30af618d681c">94,060</ix:nonFraction>)</span></td><td style="background-color:#ffffff;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="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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMzgtMy0xLTEtMA_c7607c74-4896-4c0c-b8c7-a961bc7c1bbd">18,712</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:9pt;font-weight:700;line-height:100%">Cash from financing activities</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="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:9pt;font-weight:400;line-height:100%">Proceeds from stock option exercises</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNDAtMS0xLTEtMA_298c1921-bc49-462a-9105-f90cbd95d9b5">646</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNDAtMy0xLTEtMA_0dc8545d-8f18-44ea-b384-e89ed1860a2a">329</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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><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:9pt;font-weight:400;line-height:100%">Tax withholding for net share settlement</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNDMtMS0xLTEtMA_efe9bf30-115f-489b-84e6-3bd3b8b12865">8,900</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNDMtMy0xLTEtMA_9a0efd72-2c27-4dd6-ad1c-b087c3f8873f">9,690</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Payment of contingent consideration</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNDUtMS0xLTEtMA_9aa4f272-06d3-4550-83f0-642062520ac6">&#8212;</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNDUtMy0xLTEtMA_54da4b1f-2d3d-4e6a-9b06-099e7e727aa5">5,977</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:9pt;font-weight:400;line-height:100%">Proceeds from issuance of debt</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:ProceedsFromIssuanceOfSecuredDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNDYtMS0xLTEtMA_f58ba8e0-642f-47b9-abc9-40c7282c4f9b">&#8212;</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromIssuanceOfSecuredDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNDYtMy0xLTEtMA_5387248b-fa6f-44e8-a9cb-9a6cc1bbb2dc">50,190</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:9pt;font-weight:400;line-height:100%">Principal payments on debt</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:RepaymentsOfSecuredDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNDctMS0xLTEtMA_21ea2c15-6d18-491a-9c79-deb0b6d6965e">&#8212;</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfSecuredDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNDctMy0xLTEtMA_8b12b196-ee73-45b2-86ae-fdc9d61e44ce">1,818</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Purchase of treasury stock</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNDktMS0xLTEtMA_4d1f673e-7797-4274-9f99-31602505cd2a">&#8212;</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNDktMy0xLTEtMA_be9cb8dc-849a-4392-af3c-2f2a9e069cbd">4,194</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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 2px 61.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net cash (used in) provided by financing activities</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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNTAtMS0xLTEtMA_3ed57485-ee4b-4f91-8299-c843e5e07f35">8,254</ix:nonFraction>)</span></td><td style="background-color:#ffffff;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="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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNTAtMy0xLTEtMA_8e8943de-d97f-4bad-aaab-8c98ca1ad9a0">28,840</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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 61.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net (decrease) increase in cash, cash equivalents and restricted cash</span></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:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNTEtMS0xLTEtMA_3271dfd7-91fc-457a-88e0-5b854d651c88">91,653</ix:nonFraction>)</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNTEtMy0xLTEtMA_9b91e1f4-e1c0-4975-8b7d-73b114ef4f2b">37,504</ix:nonFraction>&#160;</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="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:9pt;font-weight:700;line-height:100%">Cash, cash equivalents and restricted cash</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="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:9pt;font-weight:400;line-height:100%">Beginning of period</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNTMtMS0xLTEtMA_40d771ad-a528-477c-9ebf-9b7a8294ff6a">140,699</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i473e347ebb55401dbe2a6897a4960ac2_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNTMtMy0xLTEtMA_5b9357ae-7d9d-4eee-a7db-d1e62eb9b03b">16,247</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:9pt;font-weight:400;line-height:100%">End of period</span></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNTQtMS0xLTEtMA_4248b884-9dd5-4706-9525-644937af2272">49,046</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;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-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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i988c1fbc446e44d2bab95dfcf6db2d16_I20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNTQtMy0xLTEtMA_7c3290b9-43ba-4fee-a6d3-5eb5c7e1efc3">53,751</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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 style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #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:3pt double #000000;padding:0 1pt"></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><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><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:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Noncash investing and financing activities</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="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:9pt;font-weight:400;line-height:100%">Purchases of property and equipment included in accounts payable and accrued expenses</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:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNjMtMS0xLTEtMA_c8a14099-aea9-4254-9faa-1f85170acbfd">822</ix:nonFraction>&#160;</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:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNjMtMy0xLTEtMA_e1b19733-8e75-45e4-aa71-149443197c73">2,678</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:9pt;font-weight:400;line-height:100%">Capitalization of software development costs included in accrued expenses and accrued employee expenses</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="appf:CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNjQtMS0xLTEtMA_ed8810dc-18b2-42c6-b2ad-5024de1ee873">1,361</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="appf:CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNjQtMy0xLTEtMA_41164047-f62b-42c8-af6a-b94256d2d5b7">1,281</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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:9pt;font-weight:400;line-height:100%">Stock-based compensation capitalized for software development</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNjUtMS0xLTEtMA_166e8189-7505-41de-b901-68ef9851e5b8">1,178</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNjUtMy0xLTEtMA_2e289415-d513-4916-b7ea-81a63a9e958e">1,059</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></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><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="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:31.5pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="text-align:center"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;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):</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:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.777%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></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.598%"></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,</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%">2021</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%">2020</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:9pt;font-weight:400;line-height:100%">Cash and cash equivalents</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:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjJjNzkxYWZlMTAyNTQ5Njk4ZWEzY2VkYWI2NTFjMTFiL3RhYmxlcmFuZ2U6MmM3OTFhZmUxMDI1NDk2OThlYTNjZWRhYjY1MWMxMWJfMi0xLTEtMS0w_51c21955-8f1e-4db3-ad4c-e309b8738329">48,610</ix:nonFraction>&#160;</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 #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:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i988c1fbc446e44d2bab95dfcf6db2d16_I20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjJjNzkxYWZlMTAyNTQ5Njk4ZWEzY2VkYWI2NTFjMTFiL3RhYmxlcmFuZ2U6MmM3OTFhZmUxMDI1NDk2OThlYTNjZWRhYjY1MWMxMWJfMi0zLTEtMS0w_25982564-0673-458c-af19-517196dc62e7">53,315</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;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:9pt;font-weight:400;line-height:100%">Restricted cash included in other assets</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjJjNzkxYWZlMTAyNTQ5Njk4ZWEzY2VkYWI2NTFjMTFiL3RhYmxlcmFuZ2U6MmM3OTFhZmUxMDI1NDk2OThlYTNjZWRhYjY1MWMxMWJfMy0xLTEtMS0w_b1df7857-71ef-4e35-a216-d81e25037a51">436</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i988c1fbc446e44d2bab95dfcf6db2d16_I20200630" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjJjNzkxYWZlMTAyNTQ5Njk4ZWEzY2VkYWI2NTFjMTFiL3RhYmxlcmFuZ2U6MmM3OTFhZmUxMDI1NDk2OThlYTNjZWRhYjY1MWMxMWJfMy0zLTEtMS0w_9ea1aef6-50b3-4fa1-956b-ac274b0d2328">436</ix:nonFraction>&#160;</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:9pt;font-weight:400;line-height:100%">Total cash, cash equivalents and restricted cash</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:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjJjNzkxYWZlMTAyNTQ5Njk4ZWEzY2VkYWI2NTFjMTFiL3RhYmxlcmFuZ2U6MmM3OTFhZmUxMDI1NDk2OThlYTNjZWRhYjY1MWMxMWJfNC0xLTEtMS0w_eb0e9b56-a655-4fc0-aed2-ef16ac105221">49,046</ix:nonFraction>&#160;</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:9pt;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:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i988c1fbc446e44d2bab95dfcf6db2d16_I20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjJjNzkxYWZlMTAyNTQ5Njk4ZWEzY2VkYWI2NTFjMTFiL3RhYmxlcmFuZ2U6MmM3OTFhZmUxMDI1NDk2OThlYTNjZWRhYjY1MWMxMWJfNC0zLTEtMS0w_0d66d093-0e39-412c-9666-c1dc7dd8cb4c">53,751</ix:nonFraction>&#160;</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="text-align:center"><span><br/></span></div><div style="margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying Notes to Condensed Consolidated Financial Statements are an integral part of these statements.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9</span></div></div></div><div id="i33d2ee1a81324077be4958e6cee29b3d_31"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">APPFOLIO, INC.</span></div><div style="margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONDENSED CONSOLIDATED UNAUDITED FINANCIAL STATEMENTS </span></div><div id="i33d2ee1a81324077be4958e6cee29b3d_34"></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">1. <ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:NatureOfOperations" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNC9mcmFnOmZiZGJjMmY0OThiZTRhNTc4NjM2NjFlMTkwYzdkOTgzL3RleHRyZWdpb246ZmJkYmMyZjQ5OGJlNGE1Nzg2MzY2MWUxOTBjN2Q5ODNfMjIzNQ_35591ded-d4c7-4e4e-b190-aa0d339ea4ff" continuedAt="ie7dac98402ac4cd2b05d6214d195c2c4" escape="true">Nature of Business</ix:nonNumeric></span></div><ix:continuation id="ie7dac98402ac4cd2b05d6214d195c2c4"><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%">AppFolio, Inc. (the "Company," "we," "us" or "our") provides innovative software, services and data analytics to the real estate industry. Our cloud-based solutions are used primarily by property managers, but also by numerous other constituencies in the property management business ecosystem. These other constituencies include property owners, rental prospects, tenants and service providers, whom we refer to collectively as "users". Although specific functionality varies by product, our core solutions are designed to enable our customers to digitally transform their businesses, address critical business operations and enable exceptional customer service. In addition to our core solutions, we offer an array of optional, but often business-critical, Value+ services that are designed to enhance, automate and streamline processes and workflows that are essential to our customers' businesses. Our Value+ services are generally available on an as-needed basis and enable our customers to adapt our offerings to their specific operational requirements.</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-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%">Our solutions and services are designed to be a system of record to automate essential business processes, a system of engagement to enhance business interactions between our customers and users and a system of intelligence to leverage data to predict and optimize business workflows in order to enable exceptional customer experiences and increase efficiency across our customers' businesses.</span><span style="color:#3051f2;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:115%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our mobile-optimized software solutions are designed for use across multiple devices and operating systems. Our software solutions are offered as a service, are hosted using a modern cloud-based architecture, and in part, use artificial intelligence technologies. This architecture leads to rich data sets that have a consistent schema across our customer and user base and enables us to deploy data-powered products and services for our customers and users.</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%">During the six months ended June&#160;30, 2020, we also provided software solutions and services to the legal industry via MyCase, a software solution primarily designed for small and mid-sized law firms. As previously disclosed, we completed our divestiture of MyCase, Inc. on September 30, 2020. For additional details, see Note 3, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Divestitures</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">.</span></div></ix:continuation><div id="i33d2ee1a81324077be4958e6cee29b3d_37"></div><div style="margin-bottom:6pt;margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2. <ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RleHRyZWdpb246ZWVjNTIwMjc3NzUxNDA1ZWIyNTIxM2I2Y2E5MmYxZWNfODUzOQ_7a2f6e01-8bdb-455a-919f-50f0dbc58e2f" continuedAt="iea7fbd3d776f47c7bee0157c9f45e771" escape="true">Summary of Significant Accounting Policies</ix:nonNumeric></span></div><ix:continuation id="iea7fbd3d776f47c7bee0157c9f45e771" continuedAt="ibfa2edfb1c6640f6867fa0a31093b856"><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%"><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RleHRyZWdpb246ZWVjNTIwMjc3NzUxNDA1ZWIyNTIxM2I2Y2E5MmYxZWNfODU1NA_3333dbd2-4e9c-4dff-81a4-929571afbbcc" continuedAt="ia9b427879f3548f2a62f5ea47f29be5c" escape="true">Basis of Presentation and Significant Accounting Policies</ix:nonNumeric></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%"><ix:continuation id="ia9b427879f3548f2a62f5ea47f29be5c">The accompanying unaudited Condensed Consolidated Financial Statements were prepared in accordance with accounting principles generally accepted in the United States (&#8220;GAAP&#8221;) 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 March 1, 2021. 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.</ix:continuation> The operating results for the six months ended June&#160;30, 2021 are not necessarily indicative of the results expected for the full year ending December&#160;31, 2021.</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%"><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:PriorPeriodReclassificationAdjustmentDescription" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RleHRyZWdpb246ZWVjNTIwMjc3NzUxNDA1ZWIyNTIxM2I2Y2E5MmYxZWNfODU0NA_c0026366-4cfd-4b93-9491-88c752911fa9" continuedAt="i353ccf3354284704a70a5bfb55192cba" escape="true">Reclassifications</ix:nonNumeric></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-weight:400;line-height:120%"><ix:continuation id="i353ccf3354284704a70a5bfb55192cba">We reclassified certain amounts in our Condensed Consolidated Statements of Cash Flows within the cash from operating activities section in the prior year to conform to the current year's presentation.</ix:continuation> </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%">Changes in 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%">Except as described below under&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Recently Adopted Accounting Pronouncements</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, there have been no significant changes in our accounting policies from those disclosed in our annual consolidated financial statements and the related notes included in our Annual Report.</span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><ix:continuation id="ibfa2edfb1c6640f6867fa0a31093b856" continuedAt="i3014838f3ff14fddb610885a6664b863"><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:UseOfEstimates" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RleHRyZWdpb246ZWVjNTIwMjc3NzUxNDA1ZWIyNTIxM2I2Y2E5MmYxZWNfODU2Ng_5ec87369-48f4-4c3a-a952-532322fd6b52" escape="true"><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 assets and liabilities assumed in business combinations, fair value of financial instruments, capitalized software 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 valuation and assumptions underlying stock-based compensation and other equity instruments. </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%">In light of the unknown duration and severity of COVID-19, we face a greater degree of uncertainty than normal in making the judgments and estimates needed to apply our significant accounting policies. We assessed certain accounting matters that generally require consideration of forecasted financial information in context with the information reasonably available to us and the unknown future impacts of COVID-19 as of June&#160;30, 2021 and through the date of this report. The accounting matters assessed included, but were not limited to, our allowance for credit losses, the carrying value of goodwill and other long-lived assets, performance-based compensation and income taxes.</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 the date of our Condensed Consolidated Financial Statements, we are not aware of any specific event or circumstance that would require us to update our estimates or judgments or to revise the carrying value of our assets or liabilities. However, these estimates and judgments may change as new events occur and additional information is obtained, which may result in changes being recognized in our consolidated financial statements in future periods. While we considered the effects of COVID-19 in our estimates and assumptions, due to the level of uncertainty regarding the economic and operational impacts of COVID-19 on our business, there may be other judgments and assumptions that we have not considered. Such judgments and assumptions could result in a meaningful impact on our financial statements in future periods. Actual results could differ from those estimates and any such differences may have a material impact on our Condensed Consolidated Financial Statements.</span></div></ix:nonNumeric><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%"><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:EarningsPerSharePolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RleHRyZWdpb246ZWVjNTIwMjc3NzUxNDA1ZWIyNTIxM2I2Y2E5MmYxZWNfODU2Nw_01c872de-f87b-4660-bca6-a3f218d1ea20" continuedAt="i0bd5f33df1cc48379a0d8db692dd4c04" escape="true">Net Income per Common Share</ix:nonNumeric></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%"><ix:continuation id="i0bd5f33df1cc48379a0d8db692dd4c04">Net income 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.</ix:continuation> <ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RleHRyZWdpb246ZWVjNTIwMjc3NzUxNDA1ZWIyNTIxM2I2Y2E5MmYxZWNfODU0MQ_9b528da2-6a87-4296-a7be-03dff5a85300" continuedAt="ib856a558327f4ace9890b98af5643d77" escape="true">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 income per common share (in thousands):</ix:nonNumeric></span></div><div style="margin-top:5pt;text-align:center"><ix:continuation id="ib856a558327f4ace9890b98af5643d77"><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:59.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:8.110%"></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:8.110%"></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:7.818%"></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:7.823%"></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%">&#160;</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%">&#160;</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%">2021</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%">2020</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%">2021</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%">2020</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%"><ix:nonFraction unitRef="shares" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesIssuedBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMi0yLTEtMS0w_3840314d-4b98-401e-9065-8d0ede6e48fd">34,553</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="shares" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesIssuedBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMi00LTEtMS0w_f1130eb3-08dd-43e0-aeec-8de0c10db017">34,259</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="shares" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesIssuedBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMi02LTEtMS0w_494a9521-d230-4673-a92e-13113d360ec6">34,484</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="shares" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesIssuedBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMi04LTEtMS0w_a7ea09f1-2f07-41c2-ab9a-41fabccc40c9">34,219</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="shares" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesRestrictedStock" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMy0yLTEtMS0w_ea218584-c3e7-460c-b51b-619e7d3ee788">5</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="shares" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesRestrictedStock" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMy00LTEtMS0w_3d7764e5-9d0e-47a8-b384-60d4429391af">5</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="shares" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesRestrictedStock" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMy02LTEtMS0w_54cde9dc-384b-4713-a248-2610673cdc17">5</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="shares" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesRestrictedStock" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMy04LTEtMS0w_41f2e3c0-974f-4c4e-9ec6-46674d0f7396">5</ix:nonFraction>&#160;</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</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%"><ix:nonFraction unitRef="shares" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfNC0yLTEtMS0w_973c4382-c282-4920-b799-e90a5a1081b4">34,548</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="shares" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfNC00LTEtMS0w_bf561d48-d96e-4959-80c1-19e970e09426">34,254</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="shares" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfNC02LTEtMS0w_b0ce05a3-e5e2-4f22-ae2a-97079825a8a9">34,479</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="shares" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfNC04LTEtMS0w_14d091c7-5520-4c27-87d4-a23ef003d92f">34,214</ix:nonFraction>&#160;</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><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="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%">Plus:  Weighted average options, restricted stock units and restricted shares used to compute diluted net income per common share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #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%"><ix:nonFraction unitRef="shares" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMTEtMi0xLTEtMA_527c3c08-646b-45a9-ba0c-f53828a9a484">1,126</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #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="2" style="background-color:#ffffff;border-top:3pt double #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%"><ix:nonFraction unitRef="shares" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMTEtNC0xLTEtMA_6dbb1f30-4cea-4b89-a934-272e4ec42ae1">1,360</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #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="2" style="background-color:#ffffff;border-top:3pt double #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%"><ix:nonFraction unitRef="shares" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMTEtNi0xLTEtMA_14941814-4014-4ce2-b723-113a942cbe4d">1,218</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #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="2" style="background-color:#ffffff;border-top:3pt double #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%"><ix:nonFraction unitRef="shares" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMTEtOC0xLTEtMA_bb77526e-4104-493c-870b-7c337f0670e7">1,433</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #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%">Weighted average common shares outstanding; 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%"><ix:nonFraction unitRef="shares" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMTItMi0xLTEtMA_b3f34a5e-33b7-4d28-be15-a5fee34830e0">35,674</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="shares" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMTItNC0xLTEtMA_10e33752-7375-4d42-8751-204ad261cb44">35,614</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="shares" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMTItNi0xLTEtMA_5444d353-d86b-48df-93aa-ba48074525a7">35,697</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="shares" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMTItOC0xLTEtMA_f3ce131b-42df-413b-8be2-50582f439793">35,647</ix:nonFraction>&#160;</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></ix:continuation></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%">For the three and six months ended June&#160;30, 2021 and 2020, an aggregate of <ix:nonFraction unitRef="shares" contextRef="i90b2071de2174e32a7146ce1f7bac234_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RleHRyZWdpb246ZWVjNTIwMjc3NzUxNDA1ZWIyNTIxM2I2Y2E5MmYxZWNfNDkxMg_44a3406e-4187-46ef-ad3b-d49946b81c74"><ix:nonFraction unitRef="shares" contextRef="ibf594887c7584e618bd23b7fc1ac52bf_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RleHRyZWdpb246ZWVjNTIwMjc3NzUxNDA1ZWIyNTIxM2I2Y2E5MmYxZWNfNDkxMg_abaaf4a2-64cb-4d30-8d57-75d9b5ca54cb">120,000</ix:nonFraction></ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="iac83eee40e9f496bab5e9fbd3730502a_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RleHRyZWdpb246ZWVjNTIwMjc3NzUxNDA1ZWIyNTIxM2I2Y2E5MmYxZWNfMjc0ODc3OTA3ODA5NQ_a6e8d177-2a4a-47fe-afea-1ac985f8aa3c"><ix:nonFraction unitRef="shares" contextRef="i135d0ebcf8b244328b43951145b259a5_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RleHRyZWdpb246ZWVjNTIwMjc3NzUxNDA1ZWIyNTIxM2I2Y2E5MmYxZWNfMjc0ODc3OTA3ODA5NQ_c463e780-947b-46ca-a61f-6d331b7bfa8e">146,000</ix:nonFraction></ix:nonFraction> shares, respectively, underlying performance-based restricted stock units ("PSUs") were not included in the computations of diluted and anti-dilutive shares as they are considered contingently issuable upon the satisfaction of predefined performance measures and their performance measures have not been met.</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%">Restricted stock units ("RSUs") with an anti-dilutive effect were excluded from the calculation of weighted average number of shares used to compute diluted net income per common share and they were not material for the three and six months ended June&#160;30, 2021 and 2020.</span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><ix:continuation id="i3014838f3ff14fddb610885a6664b863"><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RleHRyZWdpb246ZWVjNTIwMjc3NzUxNDA1ZWIyNTIxM2I2Y2E5MmYxZWNfODU3MA_ff83b2aa-170e-4dd9-8245-8e807ff38dd6" escape="true"><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 in 2020</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%">In June 2016, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") No. 2016-13,&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">("ASU 2016-13"), which amends the current accounting guidance and requires the measurement of all expected losses based on historical experience, current conditions and reasonable and supportable forecasts. This guidance amends the accounting for credit losses for available-for-sale investment securities and purchased financial assets with credit deterioration. We adopted ASU 2016-13 on January 1, 2020. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures. </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%">In August 2018, the FASB issued ASU No. 2018-15,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#160;Intangibles&#8212;Goodwill and Other&#8212;Internal-Use Software (Subtopic 350-40): Customer&#8217;s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">("ASU 2018-15"), a series of amendments which align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal use software license). The accounting for the service element of a hosting arrangement that is a service contract is not affected by these amendments. We adopted ASU 2018-15 on January 1, 2020. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures.</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 in 2021</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 December 2019, the FASB issued ASU No. 2019-12,&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">("ASU 2019-12").&#160;This amendment was issued to simplify the accounting for income taxes by removing certain exceptions for recognizing deferred taxes, performing intraperiod allocation, and calculating income taxes in interim periods. Further, ASU 2019-12 adds guidance to reduce complexity in certain areas, including recognizing deferred taxes for tax basis goodwill and allocating taxes to members of a consolidated group. This guidance also requires an entity to reflect the effect of an enacted change in tax laws or rates in its effective income tax rate in the first interim period that includes the enactment date of the new legislation, aligning the timing of recognition of the effects from enacted tax law changes on the effective income tax rate with the effects on deferred income tax assets and liabilities. Under existing guidance, an entity recognizes the effects of the enacted tax law change on the effective income tax rate in the period that includes the effective date of the tax law. We adopted ASU 2019-12 on January 1, 2021. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures.</span></div></ix:nonNumeric></ix:continuation><div id="i33d2ee1a81324077be4958e6cee29b3d_40"></div><div style="margin-bottom:6pt;margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">3. <ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:BusinessCombinationDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfMTM4MA_aefe4874-3839-40c5-925f-c5a4acc6cb59" continuedAt="i7e8f0bb7775d4e1c97a71c6d645aeec8" escape="true">Divestitures </ix:nonNumeric></span></div><ix:continuation id="i7e8f0bb7775d4e1c97a71c6d645aeec8" continuedAt="ic36ba5af908f4be89311cab48ee1ac73"><div style="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%">Divestiture of MyCase</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%">On September 30, 2020, we completed our divestiture of 100% of our issued and outstanding equity interests of MyCase, Inc. ("MyCase"), a former wholly owned subsidiary that provided legal practice and case management software solutions to our legal customers, for $<ix:nonFraction unitRef="usd" contextRef="i33d25f7a5d2e44dcb8c9b0bef0ed6980_I20200930" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfMzA4_bd853f30-9fd0-4705-801a-1f065a680052">193.0</ix:nonFraction>&#160;million, consisting of $<ix:nonFraction unitRef="usd" contextRef="i367df11d249b4cd8a30f0f498809caba_D20200930-20200930" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfMzI2_d95985fa-c51e-4b9e-a0a3-6559d8fd5558">192.2</ix:nonFraction>&#160;million of cash proceeds, plus a $<ix:nonFraction unitRef="usd" contextRef="i367df11d249b4cd8a30f0f498809caba_D20200930-20200930" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfMzU0_4a03da0a-bead-4bd2-915c-b6ce5b3450f4">2.2</ix:nonFraction>&#160;million employee retention bonus pool funded by us, less cash divested of $<ix:nonFraction unitRef="usd" contextRef="i367df11d249b4cd8a30f0f498809caba_D20200930-20200930" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CashDivestedFromDeconsolidation" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfNDIz_b654e283-9d2d-48af-84b7-81f18b57a4b7">0.8</ix:nonFraction>&#160;million and a preliminary working capital adjustment of $<ix:nonFraction unitRef="usd" contextRef="i367df11d249b4cd8a30f0f498809caba_D20200930-20200930" decimals="-5" format="ixt:numdotdecimal" name="appf:DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfNDc0_3284a470-53d3-45e1-a8c9-02effc380607">0.6</ix:nonFraction>&#160;million (the "MyCase Transaction"). The retention bonus pool is refundable to the Company to the extent that MyCase employees are terminated prior to the retention period, which is <ix:nonNumeric contextRef="i367df11d249b4cd8a30f0f498809caba_D20200930-20200930" format="ixt-sec:durwordsen" name="appf:DisposalGroupIncludingDiscontinuedOperationRetentionPeriod" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfMTM4Mw_2daa3035-8568-4dee-b642-e87ff4601d2b">one year</ix:nonNumeric> from the closing date of the MyCase Transaction.  </span></div></ix:continuation><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><ix:continuation id="ic36ba5af908f4be89311cab48ee1ac73" continuedAt="iba0b0b7d6af7473c88eb67f9a3e0c7a2"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognized a pre-tax gain on the sale of $<ix:nonFraction unitRef="usd" contextRef="i367df11d249b4cd8a30f0f498809caba_D20200930-20200930" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfNzUz_db140ff7-7fda-4863-972c-82e2d4889ce1">188.0</ix:nonFraction>&#160;million on the MyCase Transaction, consisting of cash proceeds of $<ix:nonFraction unitRef="usd" contextRef="i367df11d249b4cd8a30f0f498809caba_D20200930-20200930" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfODE0_d95985fa-c51e-4b9e-a0a3-6559d8fd5558">192.2</ix:nonFraction>&#160;million, less net assets divested of $<ix:nonFraction unitRef="usd" contextRef="i33d25f7a5d2e44dcb8c9b0bef0ed6980_I20200930" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperation" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfODQ2_c1daeeab-a86f-4262-a695-f9549d3dfbb2">4.6</ix:nonFraction>&#160;million, plus an adjustment in the employee retention bonus pool of $<ix:nonFraction unitRef="usd" contextRef="i367df11d249b4cd8a30f0f498809caba_D20200930-20200930" decimals="-5" format="ixt:numdotdecimal" name="appf:NoncashOrPartNoncashDivestitureAdjustmentToConsideration" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfMTA5OTUxMTYyOTQzMA_78975e3f-fcd8-4583-a18b-9ec1d04cdea4">0.4</ix:nonFraction>&#160;million. Net assets divested is primarily comprised of capitalized software of $<ix:nonFraction unitRef="usd" contextRef="i33d25f7a5d2e44dcb8c9b0bef0ed6980_I20200930" decimals="-5" format="ixt:numdotdecimal" name="appf:DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfOTIw_c2b96867-b93c-4b29-8716-abdaf1b73148">3.9</ix:nonFraction>&#160;million, deferred revenue of $<ix:nonFraction unitRef="usd" contextRef="i33d25f7a5d2e44dcb8c9b0bef0ed6980_I20200930" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DisposalGroupIncludingDiscontinuedOperationDeferredRevenue" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfOTQ0_5c5dcc0a-db42-472f-bb0a-70f639874e21">2.8</ix:nonFraction>&#160;million and goodwill allocated to MyCase of $<ix:nonFraction unitRef="usd" contextRef="i33d25f7a5d2e44dcb8c9b0bef0ed6980_I20200930" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DisposalGroupIncludingDiscontinuedOperationGoodwill1" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfOTgz_1e7aa1b8-7a9f-49f0-ae66-532637c11b78">2.3</ix:nonFraction>&#160;million. The gain on the sale was recorded within </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 income (loss), net</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> in our Condensed Consolidated Statements of Operations during the three months ended September 30, 2020. Income received during the three and six months ended June&#160;30, 2021 in relation to the transition services provided by us to MyCase was $<ix:nonFraction unitRef="usd" contextRef="i774464bfa41c4674b475cede92673cb1_D20210401-20210630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DisposalGroupIncludingDiscontinuedOperationOtherIncome" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfMjc0ODc3OTA3MTE3MQ_35920129-50ea-4e2b-aa73-9a1ac53b6412">0.3</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="i48eeacffc6e94a0085458e1b4f4a735f_D20210101-20210630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DisposalGroupIncludingDiscontinuedOperationOtherIncome" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfMTI2OA_fdec4e9a-5aa3-4c81-9364-eddf38bfb833">0.7</ix:nonFraction>&#160;million, and is included within </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 income (loss), net</span></ix:continuation><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="iba0b0b7d6af7473c88eb67f9a3e0c7a2"> in our Condensed Consolidated Statements of Operations.</ix:continuation>  </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#160;&#160;&#160;&#160;</span></div><div style="text-align:justify"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12</span></div></div></div><div id="i33d2ee1a81324077be4958e6cee29b3d_43"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="margin-bottom:6pt;margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">4. <ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="appf:InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RleHRyZWdpb246ZThjNDBmYmExZjkwNDRiZGE2MDkwNzFiMjgzYTU5YzFfMzQyMQ_df0179c7-2e26-40c4-b035-677e2225845f" continuedAt="i4225cfe003684f17971b6f9e2c979efc" escape="true">Investment Securities and Fair Value Measurements</ix:nonNumeric></span></div><ix:continuation id="i4225cfe003684f17971b6f9e2c979efc" continuedAt="i840172947a9d4124ad64371d78f71946"><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><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RleHRyZWdpb246ZThjNDBmYmExZjkwNDRiZGE2MDkwNzFiMjgzYTU5YzFfMzQyOA_784c7a5a-9a64-4285-8469-e0d4bf02a368" escape="true"><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&#160;30, 2021 and December&#160;31, 2020&#160;(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, 2021</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%"><ix:nonFraction unitRef="usd" contextRef="i56da3fb104fe42b1b4bfe3ac2a7f1b72_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfMi0xLTEtMS0w_8a505315-f511-48f7-ab21-28fbdbf46c3d">49,442</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i56da3fb104fe42b1b4bfe3ac2a7f1b72_I20210630" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfMi0zLTEtMS0w_47e1c772-d43d-4a66-a8e6-cd2acba40718">4</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="i56da3fb104fe42b1b4bfe3ac2a7f1b72_I20210630" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfMi01LTEtMS0w_5ac761bc-3d24-4f3c-9bc5-36e3002440ed">7</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="i56da3fb104fe42b1b4bfe3ac2a7f1b72_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfMi03LTEtMS0w_75e893b0-0baf-4022-b879-bbdec94bcd04">49,439</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i59308c55c45a45819932752a6679c2f8_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfMy0xLTEtMS0w_36fdecea-a0ad-4b61-8172-2300508713a9">11,842</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i59308c55c45a45819932752a6679c2f8_I20210630" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfMy0zLTEtMS0w_3f2951bb-fb74-402d-9e88-5a949be24795">13</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="i59308c55c45a45819932752a6679c2f8_I20210630" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfMy01LTEtMS0w_42e4e8bd-04f1-45fd-bef2-e322d916403d">7</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="i59308c55c45a45819932752a6679c2f8_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfMy03LTEtMS0w_b7a3ce9a-eed7-4d91-96dd-bd004c659bfc">11,848</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i76c46d72aba34616a1d425fd2bacd0aa_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfNS0xLTEtMS0w_a369fc6e-767d-4308-a2c6-1dabf6c71e16">53,225</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i76c46d72aba34616a1d425fd2bacd0aa_I20210630" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfNS0zLTEtMS0w_ea55ed62-0725-4865-a0d8-1a6a91796f62">18</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="i76c46d72aba34616a1d425fd2bacd0aa_I20210630" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfNS01LTEtMS0w_484ea563-d946-4249-8a1b-436c16fd5e28">11</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="i76c46d72aba34616a1d425fd2bacd0aa_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfNS03LTEtMS0w_deb772b1-2ea2-4a09-8f22-9240801d92dd">53,232</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfNi0xLTEtMS0w_7057dd12-230e-4f3c-a40f-8881acb1c6e3">114,509</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfNi0zLTEtMS0w_d9f3fdf6-144f-4637-946d-0cf24592340f">35</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfNi01LTEtMS0w_e44f69ca-c488-49d1-b030-2781dfbfe0ed">25</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfNi03LTEtMS0w_a6adb1ed-abfe-4410-8c76-af18474f3fe1">114,519</ix:nonFraction>&#160;</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, 2020</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%">Agency securities</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%"><ix:nonFraction unitRef="usd" contextRef="ifded2f5021594db08f4bfac7b690d64a_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU5N2RmNzYwZDdiNzRhZmI4ODFjZTUyMzVmMzZhYzY0L3RhYmxlcmFuZ2U6NTk3ZGY3NjBkN2I3NGFmYjg4MWNlNTIzNWYzNmFjNjRfMi0xLTEtMS0w_88daf276-434e-4133-870f-baf9788eafbe">17,104</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="ifded2f5021594db08f4bfac7b690d64a_I20201231" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU5N2RmNzYwZDdiNzRhZmI4ODFjZTUyMzVmMzZhYzY0L3RhYmxlcmFuZ2U6NTk3ZGY3NjBkN2I3NGFmYjg4MWNlNTIzNWYzNmFjNjRfMi0zLTEtMS0w_44a4deb7-79f3-480d-9a82-86964036a81f">29</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="ifded2f5021594db08f4bfac7b690d64a_I20201231" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU5N2RmNzYwZDdiNzRhZmI4ODFjZTUyMzVmMzZhYzY0L3RhYmxlcmFuZ2U6NTk3ZGY3NjBkN2I3NGFmYjg4MWNlNTIzNWYzNmFjNjRfMi01LTEtMS0w_d315ac2f-8f52-44bd-98ec-496a263f3137">1</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="ifded2f5021594db08f4bfac7b690d64a_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU5N2RmNzYwZDdiNzRhZmI4ODFjZTUyMzVmMzZhYzY0L3RhYmxlcmFuZ2U6NTk3ZGY3NjBkN2I3NGFmYjg4MWNlNTIzNWYzNmFjNjRfMi03LTEtMS0w_152ba908-5944-43af-99b1-7738cc03d570">17,132</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i2b52b0811f374a53b8d2a892b133dfc5_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU5N2RmNzYwZDdiNzRhZmI4ODFjZTUyMzVmMzZhYzY0L3RhYmxlcmFuZ2U6NTk3ZGY3NjBkN2I3NGFmYjg4MWNlNTIzNWYzNmFjNjRfNS0xLTEtMS0w_626380be-1ef5-4b39-adc4-a27b63c96e2e">17,847</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i2b52b0811f374a53b8d2a892b133dfc5_I20201231" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU5N2RmNzYwZDdiNzRhZmI4ODFjZTUyMzVmMzZhYzY0L3RhYmxlcmFuZ2U6NTk3ZGY3NjBkN2I3NGFmYjg4MWNlNTIzNWYzNmFjNjRfNS0zLTEtMS0w_71620994-0d44-4b75-9985-0c15b595c83b">47</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i2b52b0811f374a53b8d2a892b133dfc5_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU5N2RmNzYwZDdiNzRhZmI4ODFjZTUyMzVmMzZhYzY0L3RhYmxlcmFuZ2U6NTk3ZGY3NjBkN2I3NGFmYjg4MWNlNTIzNWYzNmFjNjRfNS01LTEtMS0w_748eb050-61d9-45d1-aff9-1a66c6219259">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i2b52b0811f374a53b8d2a892b133dfc5_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU5N2RmNzYwZDdiNzRhZmI4ODFjZTUyMzVmMzZhYzY0L3RhYmxlcmFuZ2U6NTk3ZGY3NjBkN2I3NGFmYjg4MWNlNTIzNWYzNmFjNjRfNS03LTEtMS0w_0cdc3897-189c-4b76-9ab4-feff5c502287">17,894</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU5N2RmNzYwZDdiNzRhZmI4ODFjZTUyMzVmMzZhYzY0L3RhYmxlcmFuZ2U6NTk3ZGY3NjBkN2I3NGFmYjg4MWNlNTIzNWYzNmFjNjRfNi0xLTEtMS0w_2f34b58f-e0ac-4d8e-8a09-1401a2526f78">34,951</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU5N2RmNzYwZDdiNzRhZmI4ODFjZTUyMzVmMzZhYzY0L3RhYmxlcmFuZ2U6NTk3ZGY3NjBkN2I3NGFmYjg4MWNlNTIzNWYzNmFjNjRfNi0zLTEtMS0w_fed1374f-1446-4e2c-9251-ce3c62de1a7c">76</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU5N2RmNzYwZDdiNzRhZmI4ODFjZTUyMzVmMzZhYzY0L3RhYmxlcmFuZ2U6NTk3ZGY3NjBkN2I3NGFmYjg4MWNlNTIzNWYzNmFjNjRfNi01LTEtMS0w_5fd63a24-3748-402b-8a40-3079c9a53284">1</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU5N2RmNzYwZDdiNzRhZmI4ODFjZTUyMzVmMzZhYzY0L3RhYmxlcmFuZ2U6NTk3ZGY3NjBkN2I3NGFmYjg4MWNlNTIzNWYzNmFjNjRfNi03LTEtMS0w_3408e708-3a2d-44ec-b0e5-d3952ee29a9c">35,026</ix:nonFraction>&#160;</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></ix:nonNumeric><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%">For available-for-sale debt securities in an unrealized loss position, we first assess whether we intend to sell, or whether it is more likely than not that we will be required to sell the security before recovery of its amortized cost basis. If either of these criteria is met, the security&#8217;s amortized cost basis is written down to fair value through income. For securities in an unrealized loss position that do not meet these criteria, we evaluate whether the decline in fair value has resulted from&#160;credit loss&#160;or other factors. If this assessment indicates a&#160;credit loss&#160;exists, the credit-related portion of the loss is recorded as an allowance for losses on the security. <ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RleHRyZWdpb246ZThjNDBmYmExZjkwNDRiZGE2MDkwNzFiMjgzYTU5YzFfMjc0ODc3OTA3MzMxNQ_09d89051-0a58-4ee6-820b-9904cfabd94e"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RleHRyZWdpb246ZThjNDBmYmExZjkwNDRiZGE2MDkwNzFiMjgzYTU5YzFfMjc0ODc3OTA3MzMxNQ_efdc5479-c82b-4b63-81c7-d44e15a864bb">No</ix:nonFraction></ix:nonFraction> allowance for credit losses for available-for-sale investment securities was recorded as of June&#160;30, 2021 or December&#160;31, 2020.</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&#160;30, 2021 and December&#160;31, 2020, the contractual maturities of our investments did not exceed&#160;<ix:nonNumeric contextRef="ic8f14e2f98b742f58bdddb87910e20b8_D20200101-20201231" format="ixt-sec:durmonth" name="appf:AvailableForSaleSecuritiesMaximumContractualMaturity" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RleHRyZWdpb246ZThjNDBmYmExZjkwNDRiZGE2MDkwNzFiMjgzYTU5YzFfMTA2Mg_8ed5edf1-3686-491e-b4d0-1989eab3f09c"><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" format="ixt-sec:durmonth" name="appf:AvailableForSaleSecuritiesMaximumContractualMaturity" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RleHRyZWdpb246ZThjNDBmYmExZjkwNDRiZGE2MDkwNzFiMjgzYTU5YzFfMTA2Mg_e077aa26-bcdf-47ff-acb2-fb92681596b4">36</ix:nonNumeric></ix:nonNumeric> months. <ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RleHRyZWdpb246ZThjNDBmYmExZjkwNDRiZGE2MDkwNzFiMjgzYTU5YzFfMzQ0Mw_b37f0874-c773-48d1-9e19-234ce5d81135" continuedAt="i9dc850ec63eb4db68ac4305799595f2b" escape="true">The fair values of available-for-sale investment securities, by remaining contractual maturity, are as follows (in thousands):</ix:nonNumeric></span></div><div style="margin-top:17pt;text-align:center"><ix:continuation id="i9dc850ec63eb4db68ac4305799595f2b"><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, 2021</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, 2020</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjVhNDAyZDRlODc0YzQ5MmM4ODI0MGIxYjk3ZGYyZmQzL3RhYmxlcmFuZ2U6NWE0MDJkNGU4NzRjNDkyYzg4MjQwYjFiOTdkZjJmZDNfMi0xLTEtMS0w_11bc3c71-3047-44c2-ad35-a05966228ffe">102,950</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjVhNDAyZDRlODc0YzQ5MmM4ODI0MGIxYjk3ZGYyZmQzL3RhYmxlcmFuZ2U6NWE0MDJkNGU4NzRjNDkyYzg4MjQwYjFiOTdkZjJmZDNfMi0zLTEtMS0w_0c91189f-be38-4a5e-adb4-b071cf2d424b">102,978</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjVhNDAyZDRlODc0YzQ5MmM4ODI0MGIxYjk3ZGYyZmQzL3RhYmxlcmFuZ2U6NWE0MDJkNGU4NzRjNDkyYzg4MjQwYjFiOTdkZjJmZDNfMi01LTEtMS0w_da2a6731-c492-451e-9893-70915fa08660">28,197</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjVhNDAyZDRlODc0YzQ5MmM4ODI0MGIxYjk3ZGYyZmQzL3RhYmxlcmFuZ2U6NWE0MDJkNGU4NzRjNDkyYzg4MjQwYjFiOTdkZjJmZDNfMi03LTEtMS0w_0a8ccbfa-61cf-47d6-b2dc-a5bd151dca52">28,256</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjVhNDAyZDRlODc0YzQ5MmM4ODI0MGIxYjk3ZGYyZmQzL3RhYmxlcmFuZ2U6NWE0MDJkNGU4NzRjNDkyYzg4MjQwYjFiOTdkZjJmZDNfMy0xLTEtMS0w_bd55b4cb-bf63-4787-b366-516ae01a89f4">11,559</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjVhNDAyZDRlODc0YzQ5MmM4ODI0MGIxYjk3ZGYyZmQzL3RhYmxlcmFuZ2U6NWE0MDJkNGU4NzRjNDkyYzg4MjQwYjFiOTdkZjJmZDNfMy0zLTEtMS0w_8c8f371c-38f9-41e4-b3d1-f947186430f4">11,541</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjVhNDAyZDRlODc0YzQ5MmM4ODI0MGIxYjk3ZGYyZmQzL3RhYmxlcmFuZ2U6NWE0MDJkNGU4NzRjNDkyYzg4MjQwYjFiOTdkZjJmZDNfMy01LTEtMS0w_01585b21-1cfd-4af2-b1b8-5a72bcfc4834">6,754</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjVhNDAyZDRlODc0YzQ5MmM4ODI0MGIxYjk3ZGYyZmQzL3RhYmxlcmFuZ2U6NWE0MDJkNGU4NzRjNDkyYzg4MjQwYjFiOTdkZjJmZDNfMy03LTEtMS0w_466d2d7e-a51c-4653-bc8e-3406e879079c">6,770</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjVhNDAyZDRlODc0YzQ5MmM4ODI0MGIxYjk3ZGYyZmQzL3RhYmxlcmFuZ2U6NWE0MDJkNGU4NzRjNDkyYzg4MjQwYjFiOTdkZjJmZDNfNC0xLTEtMS0w_c1edd868-c12f-483a-a68d-45bfd24af194">114,509</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjVhNDAyZDRlODc0YzQ5MmM4ODI0MGIxYjk3ZGYyZmQzL3RhYmxlcmFuZ2U6NWE0MDJkNGU4NzRjNDkyYzg4MjQwYjFiOTdkZjJmZDNfNC0zLTEtMS0w_5c629ab7-e662-45a8-9dc5-81b2376f7c75">114,519</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjVhNDAyZDRlODc0YzQ5MmM4ODI0MGIxYjk3ZGYyZmQzL3RhYmxlcmFuZ2U6NWE0MDJkNGU4NzRjNDkyYzg4MjQwYjFiOTdkZjJmZDNfNC01LTEtMS0w_f0d583bb-14d1-4d91-99d9-13bcb206a090">34,951</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjVhNDAyZDRlODc0YzQ5MmM4ODI0MGIxYjk3ZGYyZmQzL3RhYmxlcmFuZ2U6NWE0MDJkNGU4NzRjNDkyYzg4MjQwYjFiOTdkZjJmZDNfNC03LTEtMS0w_203f8480-c35c-4e26-a461-359f92676d5b">35,026</ix:nonFraction>&#160;</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></ix:continuation></div><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:ScheduleOfRealizedGainLossTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RleHRyZWdpb246ZThjNDBmYmExZjkwNDRiZGE2MDkwNzFiMjgzYTU5YzFfMzQyNA_ffc784f0-5e86-4fcb-9ba2-17fe5aa16c5e" continuedAt="i0bf2cddab8d34f23b2be2a88172fa73a" escape="true"><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&#160;30, 2021 and 2020, we had sales and maturities (which include calls) 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, 2021</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="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%">Agency securities</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%"><ix:nonFraction unitRef="usd" contextRef="i15965b74e12e4d52b0ad7e65bcb1590e_D20210101-20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedGain" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU1Zjg5Y2MzNTBiODQ2Y2FhOTk5Yzk3ZjUwMzVkZmRlL3RhYmxlcmFuZ2U6NTVmODljYzM1MGI4NDZjYWE5OTljOTdmNTAzNWRmZGVfMy0xLTEtMS0w_aaef6087-e85b-47a5-ab23-8198f6266ee1">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i15965b74e12e4d52b0ad7e65bcb1590e_D20210101-20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU1Zjg5Y2MzNTBiODQ2Y2FhOTk5Yzk3ZjUwMzVkZmRlL3RhYmxlcmFuZ2U6NTVmODljYzM1MGI4NDZjYWE5OTljOTdmNTAzNWRmZGVfMy0zLTEtMS0w_2162a806-69ad-435b-baf6-d742bcc153fa">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i15965b74e12e4d52b0ad7e65bcb1590e_D20210101-20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU1Zjg5Y2MzNTBiODQ2Y2FhOTk5Yzk3ZjUwMzVkZmRlL3RhYmxlcmFuZ2U6NTVmODljYzM1MGI4NDZjYWE5OTljOTdmNTAzNWRmZGVfMy01LTEtMS0w_810e6098-ddf6-4cd8-a863-ea6de26e4e93">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i15965b74e12e4d52b0ad7e65bcb1590e_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU1Zjg5Y2MzNTBiODQ2Y2FhOTk5Yzk3ZjUwMzVkZmRlL3RhYmxlcmFuZ2U6NTVmODljYzM1MGI4NDZjYWE5OTljOTdmNTAzNWRmZGVfMy03LTEtMS0w_d3f8de8a-9628-4ece-b808-61e2907b34e6">5,250</ix:nonFraction>&#160;</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="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%"><ix:nonFraction unitRef="usd" contextRef="ifd6c3f5409b64a248d76969a2be4df49_D20210101-20210630" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedGain" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU1Zjg5Y2MzNTBiODQ2Y2FhOTk5Yzk3ZjUwMzVkZmRlL3RhYmxlcmFuZ2U6NTVmODljYzM1MGI4NDZjYWE5OTljOTdmNTAzNWRmZGVfNS0xLTEtMS0w_7de5187a-c2a2-426f-96a2-0e5866c3a94f">6</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="ifd6c3f5409b64a248d76969a2be4df49_D20210101-20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU1Zjg5Y2MzNTBiODQ2Y2FhOTk5Yzk3ZjUwMzVkZmRlL3RhYmxlcmFuZ2U6NTVmODljYzM1MGI4NDZjYWE5OTljOTdmNTAzNWRmZGVfNS0zLTEtMS0w_b48907d3-acd0-4ae6-95cb-0152e8e7893f">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="ifd6c3f5409b64a248d76969a2be4df49_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU1Zjg5Y2MzNTBiODQ2Y2FhOTk5Yzk3ZjUwMzVkZmRlL3RhYmxlcmFuZ2U6NTVmODljYzM1MGI4NDZjYWE5OTljOTdmNTAzNWRmZGVfNS01LTEtMS0w_1d17abb2-5c5d-4f86-9642-d378b880e8d4">42,198</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="ifd6c3f5409b64a248d76969a2be4df49_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU1Zjg5Y2MzNTBiODQ2Y2FhOTk5Yzk3ZjUwMzVkZmRlL3RhYmxlcmFuZ2U6NTVmODljYzM1MGI4NDZjYWE5OTljOTdmNTAzNWRmZGVfNS03LTEtMS0w_722d6ad1-0a66-44f3-876f-dbbea74d0b84">21,500</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedGain" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU1Zjg5Y2MzNTBiODQ2Y2FhOTk5Yzk3ZjUwMzVkZmRlL3RhYmxlcmFuZ2U6NTVmODljYzM1MGI4NDZjYWE5OTljOTdmNTAzNWRmZGVfNi0xLTEtMS0w_8b25c1fe-e18a-4f4f-b80b-bda94595759a">6</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU1Zjg5Y2MzNTBiODQ2Y2FhOTk5Yzk3ZjUwMzVkZmRlL3RhYmxlcmFuZ2U6NTVmODljYzM1MGI4NDZjYWE5OTljOTdmNTAzNWRmZGVfNi0zLTEtMS0w_03eea6db-6982-4cec-b819-111bf9b169ce">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU1Zjg5Y2MzNTBiODQ2Y2FhOTk5Yzk3ZjUwMzVkZmRlL3RhYmxlcmFuZ2U6NTVmODljYzM1MGI4NDZjYWE5OTljOTdmNTAzNWRmZGVfNi01LTEtMS0w_0c67c66d-13fa-4040-b499-7070ba4363fc">42,198</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU1Zjg5Y2MzNTBiODQ2Y2FhOTk5Yzk3ZjUwMzVkZmRlL3RhYmxlcmFuZ2U6NTVmODljYzM1MGI4NDZjYWE5OTljOTdmNTAzNWRmZGVfNi03LTEtMS0w_007de516-1595-4194-9993-91277b11318f">26,750</ix:nonFraction>&#160;</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></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><ix:continuation id="i840172947a9d4124ad64371d78f71946" continuedAt="id9edfe5fbe554a75aed37c90d3eec5ab"><div style="margin-top:12pt;text-align:justify"><ix:continuation id="i0bf2cddab8d34f23b2be2a88172fa73a"><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:42.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.369%"></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:12.369%"></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:12.369%"></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:12.374%"></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, 2020</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%"><ix:nonFraction unitRef="usd" contextRef="ia9210dadeefa4ea087841f03e148956f_D20200101-20200630" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedGain" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfMi0xLTEtMS0w_b97934ba-6a6c-4307-86e8-43a419ba0ee8">5</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="ia9210dadeefa4ea087841f03e148956f_D20200101-20200630" decimals="-3" format="ixt:zerodash" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfMi0zLTEtMS0w_13c5d306-2678-43aa-83bd-527633340a62">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="ia9210dadeefa4ea087841f03e148956f_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfMi01LTEtMS0w_47129a07-bb84-4c63-807d-42967c591d94">4,006</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="ia9210dadeefa4ea087841f03e148956f_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfMi03LTEtMS0w_1b83d8df-9a88-4934-9d62-7e4bfc31e295">4,000</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i03f7fe5dce0a42979585fb88ef579614_D20200101-20200630" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedGain" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfMy0xLTEtMS0w_b42b8954-5b74-4b90-bc65-c83e5879317e">24</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i03f7fe5dce0a42979585fb88ef579614_D20200101-20200630" decimals="-3" format="ixt:zerodash" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfMy0zLTEtMS0w_96b5d4f6-dfa6-46e4-a494-a0ed3514b45b">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i03f7fe5dce0a42979585fb88ef579614_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfMy01LTEtMS0w_248c162e-bc82-4419-8cbf-f69f00746ca6">7,878</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i03f7fe5dce0a42979585fb88ef579614_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfMy03LTEtMS0w_75ec3804-545c-4a30-8000-d54cdad434a6">1,250</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="if1a3a8dfcaaa46d0a0d29f9510a5adb4_D20200101-20200630" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedGain" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfNS0xLTEtMS0w_41e10bee-1409-44de-993c-276f3edec5d3">4</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="if1a3a8dfcaaa46d0a0d29f9510a5adb4_D20200101-20200630" decimals="-3" format="ixt:zerodash" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfNS0zLTEtMS0w_e83ee481-8129-4724-a091-06734c455c07">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="if1a3a8dfcaaa46d0a0d29f9510a5adb4_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfNS01LTEtMS0w_6056d553-2066-4a63-b452-7d5b9b447091">2,058</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="if1a3a8dfcaaa46d0a0d29f9510a5adb4_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfNS03LTEtMS0w_7959f3ee-23e2-470a-adac-6e194b3da142">2,500</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedGain" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfNi0xLTEtMS0w_6a9df012-9c4e-48f3-8125-5aad1f38c42c">33</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:zerodash" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfNi0zLTEtMS0w_a9066870-9dce-453e-9670-a60e087eb2ec">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfNi01LTEtMS0w_14927c23-65e9-41eb-93c1-24520f08f003">13,942</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfNi03LTEtMS0w_938721ec-00c2-4d2e-a515-f56662bf1701">7,750</ix:nonFraction>&#160;</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></ix:continuation></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%">Interest income, net of the amortization and accretion of the premium and discount, was $<ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RleHRyZWdpb246ZThjNDBmYmExZjkwNDRiZGE2MDkwNzFiMjgzYTU5YzFfMTQyOQ_2b497020-2a54-49df-8017-b233be8af6fa"><ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RleHRyZWdpb246ZThjNDBmYmExZjkwNDRiZGE2MDkwNzFiMjgzYTU5YzFfMTQyOQ_d45fa3f5-9800-40a2-adac-495712c69517">0.1</ix:nonFraction></ix:nonFraction> million for the three months ended June&#160;30, 2021 and 2020, and $<ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RleHRyZWdpb246ZThjNDBmYmExZjkwNDRiZGE2MDkwNzFiMjgzYTU5YzFfMTA5OTUxMTYzMTM0Mg_8f86e318-e2e6-4293-b7ff-77cce48f6a9a">0.1</ix:nonFraction> million for the six months ended June&#160;30, 2021 and $<ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RleHRyZWdpb246ZThjNDBmYmExZjkwNDRiZGE2MDkwNzFiMjgzYTU5YzFfMTA5OTUxMTYzMTM1MA_4eff543a-46e6-4c8a-b91a-fc71a2e7b0f6">0.2</ix:nonFraction> million for the six months ended June&#160;30, 2020.</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%">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%">Financial assets and financial liabilities are classified in their entirety based on the lowest level of input that is significant to the fair value measurement. <ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RleHRyZWdpb246ZThjNDBmYmExZjkwNDRiZGE2MDkwNzFiMjgzYTU5YzFfMzQyOQ_2bee0213-f72e-4f18-850e-0bc11133d4c5" continuedAt="ia76ef298a671403aad55da8a3bd08a9f" escape="true">The following tables summarize our financial assets measured at fair value on a recurring basis as of June&#160;30, 2021 and December&#160;31, 2020 by level within the fair value hierarchy (in thousands):</ix:nonNumeric></span></div><ix:continuation id="ia76ef298a671403aad55da8a3bd08a9f"><div style="margin-top:17pt;text-align:justify"><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:42.741%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.389%"></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:12.389%"></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:12.389%"></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:12.393%"></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, 2021</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&#160;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&#160;2</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 3</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%">Total&#160;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="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="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%"><ix:nonFraction unitRef="usd" contextRef="id4e2074bc7a747a2a7487e7f6020cab0_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfMy0xLTEtMS0w_a6638214-38a6-4b99-bb13-508f7c81e74a">5,030</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="ie84087eb32e043b6bfc20bf40bbeae2d_I20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfMy0zLTEtMS0w_fee41e95-2cc0-44be-a8c1-f6db874799de">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="ie0cd6cfdbf9f43bcb0e19d05fae4f2be_I20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfMy01LTEtMS0w_5e572eeb-3beb-4590-9a94-ab80e69c3f6e">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i60229432e790462faa0d63adc0e83c1a_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfMy03LTEtMS0w_a957b017-a279-4a67-908a-d27f5988e31a">5,030</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="id65b9b4251e44b7bb8d49cd0064fdc15_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNC0xLTEtMS0w_a265a0e5-a4e9-41ce-b353-e5ef27b765d5">9,500</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i5a8a82b15b4a423f8b7c1a59f1d8cc57_I20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNC0zLTEtMS0w_f30bf8a4-6414-4366-a33c-276d78c038f9">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i49309abb3af2468e9b9000d272a77669_I20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNC01LTEtMS0w_bcbfc4ab-51d8-452d-ba31-f9a86c348025">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i76fb3be8baa14e20970734c60a19ac99_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNC03LTEtMS0w_1d86768d-899c-4e15-8d56-026381d6f488">9,500</ix:nonFraction>&#160;</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 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%">Commercial paper</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%"><ix:nonFraction unitRef="usd" contextRef="i45fe2184113b455d9d4ad00303c8d16e_I20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNS0xLTEtMS0yMzM0_d02f7881-81eb-4c53-8f26-75ec4ca686c4">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i66d4f2457f6843a0ab6253fc765946dd_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNS0zLTEtMS0yMzM0_a96adce5-aa21-448e-9b20-303cc152f2ed">3,000</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i4401a086f7114e7eadc2b001d40b948e_I20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNS01LTEtMS0yMzM0_870b33aa-7b87-4725-8eb9-7492338c3c53">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i64b917f38ec14940aae1698f360bb899_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNS03LTEtMS0yMzM0_efae89c1-e455-4207-8071-a9adf6791780">3,000</ix:nonFraction>&#160;</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%">Available-for-sale investment securities:</span></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><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 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:#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%"><ix:nonFraction unitRef="usd" contextRef="i8acd92a53c2d4294b14c6faeb99eb4fd_I20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNi0xLTEtMS0w_6f2a8234-9349-4b2d-92a6-a3964e482031">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="ib7b0d9701a90489aad465dff0aee5c52_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNi0zLTEtMS0w_5f9ef92b-dfa4-4eef-9942-3f4b8a2f0d9a">49,439</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i96549b25df1a4687811cab8c1e4f4d63_I20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNi01LTEtMS0w_af6553b6-910a-498d-be6b-341562e8e7a6">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i77eb2ce76e20402ba7123add4e588368_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNi03LTEtMS0w_9a09b91a-65a8-4c00-92be-e4b83f5d7aa1">49,439</ix:nonFraction>&#160;</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 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:#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%"><ix:nonFraction unitRef="usd" contextRef="i3c609665be4947caa0fe9cb67e97e9a3_I20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNy0xLTEtMS0w_c0b27802-0f1b-4096-9c2f-b9e7a25228a8">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i97040d7de9894b019db7f54868216ae4_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNy0zLTEtMS0w_6efdf8a7-2d00-408c-8834-a02715c69e9e">11,848</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="if6f84d063d944d4a8b642dfa61dc2000_I20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNy01LTEtMS0w_0ba66b54-e1ec-4d86-8df7-337d5150d475">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="id7db59f74e114595993689f8b7125d60_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNy03LTEtMS0w_98f21e64-a5b3-41ba-898b-cb18260a7b3f">11,848</ix:nonFraction>&#160;</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%">&#160;&#160;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%"><ix:nonFraction unitRef="usd" contextRef="id65b9b4251e44b7bb8d49cd0064fdc15_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfOS0xLTEtMS0w_a4e14c5d-f46e-4891-8a66-20632b1679d6">53,232</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i5a8a82b15b4a423f8b7c1a59f1d8cc57_I20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfOS0zLTEtMS0w_1a019081-c08c-4f43-9a8e-18d898c17e16">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i49309abb3af2468e9b9000d272a77669_I20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfOS01LTEtMS0w_b3b3a116-ffc8-4a78-a977-4f767f04c613">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i76fb3be8baa14e20970734c60a19ac99_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfOS03LTEtMS0w_3f556b9f-a620-489f-8693-9482aa44fcb0">53,232</ix:nonFraction>&#160;</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 #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%"><ix:nonFraction unitRef="usd" contextRef="i86d1e2dc88c549198359d092c9b8bc09_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfMTAtMS0xLTEtMA_6f6d292b-6742-44a6-82a9-b4b9a54efc1a">67,762</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="ifebaf37c8a87482fa12c7b35a9c80a54_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfMTAtMy0xLTEtMA_26d6d86d-1ba8-4074-8585-d64bc3a673f6">64,287</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="ia3b151460d95496d824d89098946b105_I20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfMTAtNS0xLTEtMA_603be28a-5651-487c-8a15-85f53bf6c774">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i2f03e80423374fada4ae43730a5134d9_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfMTAtNy0xLTEtMA_10793c0a-15fb-4157-b82a-41f3fb6ceac2">132,049</ix:nonFraction>&#160;</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:12pt"><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:42.741%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.389%"></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:12.389%"></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:12.389%"></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:12.393%"></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, 2020</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&#160;2</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 3</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%">Total&#160;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="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="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%"><ix:nonFraction unitRef="usd" contextRef="idb9f22c643ff44cd96d09488f0644480_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfMy0xLTEtMS0w_4f60a969-9f4b-4dfb-8598-e3a909d92ff2">4,749</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i3a3a482479504793aec882f79422ac1a_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfMy0zLTEtMS0w_21cacb7b-4e8d-459f-8c49-d39529380ed7">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="if6b73ff9cad64b4baa875541b4561bd5_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfMy01LTEtMS0w_18bbd260-9eed-46c5-bc82-c49f8082de00">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i923d4fcb79e945a1801a0d96a3188cab_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfMy03LTEtMS0w_8b2b2ab4-3c59-48e1-9f34-b532d61360ef">4,749</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i11a4d8f2a6d54fb787677b4a13d36e00_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfNC0xLTEtMS0w_9700d0c9-1726-474e-afda-b9f108d91a95">97,433</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i4adf188b204d407ea51a500a7125bf44_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfNC0zLTEtMS0w_398bade2-feb7-4bf7-a84d-546c6e69ff58">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i84a071d649694a3a80fa9df5a64cd823_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfNC01LTEtMS0w_94d05bf5-b19d-49be-a15b-8f1b90d74fd2">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i134d4bb8b10a422e8063af0b9f14da06_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfNC03LTEtMS0w_17a5e494-08d6-4c0b-8362-4c4f780803bf">97,433</ix:nonFraction>&#160;</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="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="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%">Agency 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%"><ix:nonFraction unitRef="usd" contextRef="idaab8417abd04000b0340612e2aa6085_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfNy0xLTEtMS0w_90d2fb93-2c0d-4786-b0ab-0e5e9a5f7ac7">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i3e9e06d278ab4c9daaddb7ce9233ecc6_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfNy0zLTEtMS0w_dd99da32-b455-4fb1-a857-fd2918e4bf28">17,132</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="ie794bb6c0c4a46489164eda61ea3f20d_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfNy01LTEtMS0w_d02ee23d-c7bf-48f5-ad7d-c86d844ccc70">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i6e1dff00be534a8ba0adde1cc689e0e8_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfNy03LTEtMS0w_9b622a79-2bbd-439c-b7ee-4819e1175486">17,132</ix:nonFraction>&#160;</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 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:#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%"><ix:nonFraction unitRef="usd" contextRef="i6dc28727b9244a9992ba6409a084cf54_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfOS0xLTEtMS0w_f84cda0a-3888-4fbe-9189-e4c35aa28cbf">17,894</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="ib1d362ca124e4762afce663c65356aa6_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfOS0zLTEtMS0w_6e9307d8-3819-4166-9d71-aa0be82c47ca">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="if9bb59d9275f4090944712f69e4fd78f_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfOS01LTEtMS0w_a6e89e2b-7c37-43e3-88ba-8f99b2631aac">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="ib8a8f4e1a99f4b7288fa9ec9396b98ca_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfOS03LTEtMS0w_be38e498-aecb-4f57-a60c-52a58f908124">17,894</ix:nonFraction>&#160;</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 #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%"><ix:nonFraction unitRef="usd" contextRef="i6dc28727b9244a9992ba6409a084cf54_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfMTAtMS0xLTEtMA_85e054ca-8239-4d63-8d7a-7b84c810a84e">120,076</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="ib1d362ca124e4762afce663c65356aa6_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfMTAtMy0xLTEtMA_ebdce115-cecc-48b6-bf9f-5b15b51847fa">17,132</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="if9bb59d9275f4090944712f69e4fd78f_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfMTAtNS0xLTEtMA_d2cd08c3-b3ca-47ee-9d4e-93352ece2c65">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="ib8a8f4e1a99f4b7288fa9ec9396b98ca_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfMTAtNy0xLTEtMA_1a17a436-bae6-4e35-b307-3a6876cc6576">137,208</ix:nonFraction>&#160;</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></ix:continuation><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 carrying amounts of restricted cash, accounts receivable, accounts payable and accrued liabilities approximate fair value because of the short maturity of these items. </span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><ix:continuation id="id9edfe5fbe554a75aed37c90d3eec5ab"><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 changes to our valuation techniques used to measure financial asset and financial liability fair values on a recurring basis during the six months ended June&#160;30, 2021. The valuation techniques for the financial assets in the tables above are as follows:</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:400;line-height:120%">Cash Equivalents</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&#160;30, 2021 and December&#160;31, 2020, cash equivalents include cash invested in money market funds, commercial paper, and treasury securities with a maturity of three months or less. Fair value is based on market prices for identical assets.</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:400;line-height:120%">Available-for-Sale 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%">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-style:italic;font-weight:400;line-height:120%">Non-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%">Certain assets, including goodwill, intangible assets and our note receivable with SecureDocs, Inc., are also subject to measurement at fair value on a non-recurring basis using Level 3 measurement, but only when they are deemed to be impaired. For the six months ended June&#160;30, 2021 and 2020, no impairments were identified on those assets required to be measured at fair value on a non-recurring basis.</span></div></ix:continuation><div id="i33d2ee1a81324077be4958e6cee29b3d_46"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">5. <ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RleHRyZWdpb246NjczNjA2OGFjY2QwNGZiZjkwMjhmYTE0YWRlYThlNDBfNTE2_63c628ed-3c22-4ce7-b259-79505272def9" continuedAt="icd85374baabb402691cebc8701770c66" escape="true">Capitalized Software Development Costs, net</ix:nonNumeric></span></div><ix:continuation id="icd85374baabb402691cebc8701770c66"><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="appf:ScheduleOfCapitalizedComputerSoftwareTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RleHRyZWdpb246NjczNjA2OGFjY2QwNGZiZjkwMjhmYTE0YWRlYThlNDBfNTE1_d2fae9b8-f6c9-4995-89d6-8e5a29fa35d7" escape="true"><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:99.853%"><tr><td style="width:1.0%"></td><td style="width:70.788%"></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:12.223%"></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:12.225%"></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/>2021</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/>2020</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RhYmxlOjFkMjBlMjE2M2MzZDRjNWY4NjE1YjEyMTRkMzBlYzI3L3RhYmxlcmFuZ2U6MWQyMGUyMTYzYzNkNGM1Zjg2MTViMTIxNGQzMGVjMjdfMS0yLTEtMS0w_2012e62f-1697-4bfe-92b5-0eeedda08331">111,042</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RhYmxlOjFkMjBlMjE2M2MzZDRjNWY4NjE1YjEyMTRkMzBlYzI3L3RhYmxlcmFuZ2U6MWQyMGUyMTYzYzNkNGM1Zjg2MTViMTIxNGQzMGVjMjdfMS00LTEtMS0w_c1ab5e1c-ba5e-484f-a11a-a60f58acfd01">96,974</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RhYmxlOjFkMjBlMjE2M2MzZDRjNWY4NjE1YjEyMTRkMzBlYzI3L3RhYmxlcmFuZ2U6MWQyMGUyMTYzYzNkNGM1Zjg2MTViMTIxNGQzMGVjMjdfMi0yLTEtMS0w_4a490017-4cb4-49ed-812f-48454fc2dbc2">71,817</ix:nonFraction>)</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%">(<ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RhYmxlOjFkMjBlMjE2M2MzZDRjNWY4NjE1YjEyMTRkMzBlYzI3L3RhYmxlcmFuZ2U6MWQyMGUyMTYzYzNkNGM1Zjg2MTViMTIxNGQzMGVjMjdfMi00LTEtMS0w_a2f8217b-5d70-44ff-ac01-db247b316437">61,515</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RhYmxlOjFkMjBlMjE2M2MzZDRjNWY4NjE1YjEyMTRkMzBlYzI3L3RhYmxlcmFuZ2U6MWQyMGUyMTYzYzNkNGM1Zjg2MTViMTIxNGQzMGVjMjdfMy0yLTEtMS0w_2918b446-180c-4453-9bf9-638a48bc2495">39,225</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RhYmxlOjFkMjBlMjE2M2MzZDRjNWY4NjE1YjEyMTRkMzBlYzI3L3RhYmxlcmFuZ2U6MWQyMGUyMTYzYzNkNGM1Zjg2MTViMTIxNGQzMGVjMjdfMy00LTEtMS0w_994e1e1b-7067-49d2-9f6b-27d7b5f8e2bb">35,459</ix:nonFraction>&#160;</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></ix:nonNumeric><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 $<ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareAdditions" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RleHRyZWdpb246NjczNjA2OGFjY2QwNGZiZjkwMjhmYTE0YWRlYThlNDBfMTcx_87dd65e7-7c55-4898-91a1-d5aa45de2535">7.0</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareAdditions" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RleHRyZWdpb246NjczNjA2OGFjY2QwNGZiZjkwMjhmYTE0YWRlYThlNDBfMTc4_c4bff88d-b8e7-45d6-b16f-2d6715245f6b">7.1</ix:nonFraction> million for the three months ended June&#160;30, 2021 and 2020, respectively, and $<ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareAdditions" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RleHRyZWdpb246NjczNjA2OGFjY2QwNGZiZjkwMjhmYTE0YWRlYThlNDBfMTA5OTUxMTYyODM4Nw_00b5eedc-a08c-451e-a682-78bdb92c0e0b">14.1</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareAdditions" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RleHRyZWdpb246NjczNjA2OGFjY2QwNGZiZjkwMjhmYTE0YWRlYThlNDBfMTA5OTUxMTYyODM5NQ_5f0c456e-a02b-44cb-aab7-7e58fc81ea42">13.8</ix:nonFraction> million for the six months ended June&#160;30, 2021 and 2020, respectively. Amortization expense with respect to capitalized software development costs totaled $<ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareAmortization1" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RleHRyZWdpb246NjczNjA2OGFjY2QwNGZiZjkwMjhmYTE0YWRlYThlNDBfMzE3_c7c14d01-d96e-4394-b78d-a9a0df9c4005">5.3</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareAmortization1" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RleHRyZWdpb246NjczNjA2OGFjY2QwNGZiZjkwMjhmYTE0YWRlYThlNDBfMzI0_e3baca40-042b-4e96-8132-1659bd7ec931">4.5</ix:nonFraction> million for the three months ended June&#160;30, 2021 and 2020, respectively, and $<ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareAmortization1" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RleHRyZWdpb246NjczNjA2OGFjY2QwNGZiZjkwMjhmYTE0YWRlYThlNDBfMTA5OTUxMTYyODQ2Mw_0f6c4857-cebd-4061-8b42-4a8e520da826">10.3</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareAmortization1" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RleHRyZWdpb246NjczNjA2OGFjY2QwNGZiZjkwMjhmYTE0YWRlYThlNDBfMTA5OTUxMTYyODQ3MQ_e8c365af-f01b-495b-ac58-60c225085be0">8.7</ix:nonFraction> million for the six months ended June&#160;30, 2021 and 2020, respectively. </span></div><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="appf:ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RleHRyZWdpb246NjczNjA2OGFjY2QwNGZiZjkwMjhmYTE0YWRlYThlNDBfNTIw_8aedf75a-765c-41ce-85fe-49dec5100bf9" escape="true"><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 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.864%"></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.206%"></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%">2021</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="appf:CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RhYmxlOjFkMDQxMTBmNzY4YzQ1OGY4YjQ0YjQ0ZmE5MDA1NzE1L3RhYmxlcmFuZ2U6MWQwNDExMGY3NjhjNDU4ZjhiNDRiNDRmYTkwMDU3MTVfMS0yLTEtMS0w_f095291d-84f9-4495-b36f-a162ae0d7860">10,545</ix:nonFraction>&#160;</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%">2022</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="appf:CapitalizedComputerSoftwareAmortizationExpenseYearOne" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RhYmxlOjFkMDQxMTBmNzY4YzQ1OGY4YjQ0YjQ0ZmE5MDA1NzE1L3RhYmxlcmFuZ2U6MWQwNDExMGY3NjhjNDU4ZjhiNDRiNDRmYTkwMDU3MTVfMi0yLTEtMS0w_ff7b54fd-0428-43f2-8306-8d4ed8519afe">17,432</ix:nonFraction>&#160;</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%">2023</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="appf:CapitalizedComputerSoftwareAmortizationExpenseYearTwo" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RhYmxlOjFkMDQxMTBmNzY4YzQ1OGY4YjQ0YjQ0ZmE5MDA1NzE1L3RhYmxlcmFuZ2U6MWQwNDExMGY3NjhjNDU4ZjhiNDRiNDRmYTkwMDU3MTVfMy0yLTEtMS0w_528c814b-6c3a-42e4-8228-a1f8f5fcecf9">9,357</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="appf:CapitalizedComputerSoftwareAmortizationExpenseYearThree" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RhYmxlOjFkMDQxMTBmNzY4YzQ1OGY4YjQ0YjQ0ZmE5MDA1NzE1L3RhYmxlcmFuZ2U6MWQwNDExMGY3NjhjNDU4ZjhiNDRiNDRmYTkwMDU3MTVfNC0yLTEtMS0w_fa59e338-5c66-4f49-a465-c782da400e6b">1,891</ix:nonFraction>&#160;</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%">&#160;&#160;&#160;&#160;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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RhYmxlOjFkMDQxMTBmNzY4YzQ1OGY4YjQ0YjQ0ZmE5MDA1NzE1L3RhYmxlcmFuZ2U6MWQwNDExMGY3NjhjNDU4ZjhiNDRiNDRmYTkwMDU3MTVfNS0yLTEtMS0w_bfee32e2-63c1-40cd-97a3-b52b7bd03fec">39,225</ix:nonFraction>&#160;</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></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15</span></div></div></div><div id="i33d2ee1a81324077be4958e6cee29b3d_49"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">6. <ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RleHRyZWdpb246YTU1MWQyYTU5ZTQ0NGQxYjgyMTQ2MGZiYmZlZTAyYWFfMzQ4_8404d2da-8765-490b-821b-7a3ff63da4b0" continuedAt="i62211a1f746a4c06ada7a74bd31fc08b" escape="true">Intangible Assets, net</ix:nonNumeric></span></div><ix:continuation id="i62211a1f746a4c06ada7a74bd31fc08b"><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RleHRyZWdpb246YTU1MWQyYTU5ZTQ0NGQxYjgyMTQ2MGZiYmZlZTAyYWFfMzQz_dabcdcb9-60cf-44b5-a591-67e9712b1213" escape="true"><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%">&#160;</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, 2021</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%">&#160;</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&#160;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&#160;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&#160;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%"><ix:nonFraction unitRef="usd" contextRef="i155d2d5074374efba67d7af5a9ac3e5e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfMi0yLTEtMS0w_63e31147-cca4-471e-978f-c9fdb5d30527">2,840</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="i155d2d5074374efba67d7af5a9ac3e5e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfMi00LTEtMS0w_a4b0adf5-0bce-4068-b679-a279386bce1b">1,778</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="i155d2d5074374efba67d7af5a9ac3e5e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfMi02LTEtMS0w_f98b2981-9405-4d93-9d12-5a79716bd34e">1,062</ix:nonFraction>&#160;</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%"><ix:nonNumeric contextRef="ib858aa00e546448599decf06f685ad3d_D20210101-20210630" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfMi04LTEtMS0w_2553895c-744d-45b6-9c42-d51602a9a2b9">5.0</ix:nonNumeric></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%"><ix:nonFraction unitRef="usd" contextRef="i9e7fdb5554da46988a3a0f3371e0aa5c_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfMy0yLTEtMS0w_465decdb-f13a-466f-929f-9547d7952eb6">8,330</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="i9e7fdb5554da46988a3a0f3371e0aa5c_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfMy00LTEtMS0w_41ff31ec-90d0-4f41-81e1-d8d4c57fc538">2,203</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="i9e7fdb5554da46988a3a0f3371e0aa5c_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfMy02LTEtMS0w_a5c7fd24-768e-474d-9a00-4158aff290d8">6,127</ix:nonFraction>&#160;</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%"><ix:nonNumeric contextRef="i3b2f4973093744c1bfd87273ad71cc92_D20210101-20210630" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfMy04LTEtMS0w_ab3a7f6f-c4ea-4537-847f-3899404d3e78">10.0</ix:nonNumeric></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%"><ix:nonFraction unitRef="usd" contextRef="ie203580e606943899a636f80165c475e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNC0yLTEtMS0w_ead66a57-d950-4a0f-a187-3d65a568c697">6,539</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="ie203580e606943899a636f80165c475e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNC00LTEtMS0w_38addaa3-1842-4b00-b43e-5283ec66b3c5">4,391</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="ie203580e606943899a636f80165c475e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNC02LTEtMS0w_95db4730-70dd-4310-b441-82ac500a0d30">2,148</ix:nonFraction>&#160;</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%"><ix:nonNumeric contextRef="ib81d6ea6ceb1404d8ea05be86c1fc3eb_D20210101-20210630" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNC04LTEtMS0w_dbfb507c-048f-4746-9139-7c04c82cf475">4.0</ix:nonNumeric></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%"><ix:nonFraction unitRef="usd" contextRef="i4193ecb651234391ae468a7f18b8b331_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNS0yLTEtMS0w_5bdfc4e2-97c4-46ec-9b3e-7e2fdd2dcb83">1,890</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="i4193ecb651234391ae468a7f18b8b331_I20210630" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNS00LTEtMS0w_3d755682-246a-47a3-a433-f5251c6d26e8">930</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="i4193ecb651234391ae468a7f18b8b331_I20210630" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNS02LTEtMS0w_1371667a-ab0c-4332-a937-35d43a7c5254">960</ix:nonFraction>&#160;</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%"><ix:nonNumeric contextRef="iedf644a677e84d7fae1e8781e3314733_D20210101-20210630" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNS04LTEtMS0w_8b246e9e-4fcb-4be3-bd07-a9bc6c9c4167">5.0</ix:nonNumeric></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%"><ix:nonFraction unitRef="usd" contextRef="i7651744100014d68bf62b3a26f203b6e_I20210630" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNi0yLTEtMS0w_4d7b1ee5-ea95-4b47-87d0-f1a2a2015bcb">680</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="i7651744100014d68bf62b3a26f203b6e_I20210630" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNi00LTEtMS0w_82b42e1e-3e0c-4e71-a41c-264abb6c8e90">680</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="i7651744100014d68bf62b3a26f203b6e_I20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNi02LTEtMS0w_38459515-6bdb-4625-94b1-d6dd229af1b2">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonNumeric contextRef="i602451b4dc24438cb2e45ba6811665bf_D20210101-20210630" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNi04LTEtMS0w_97ae822c-c606-4c7a-941e-c99b3d55b4fb">3.0</ix:nonNumeric></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%"><ix:nonFraction unitRef="usd" contextRef="ide94822e72ae4e468937490e0999dae2_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNy0yLTEtMS0w_03abe1eb-7815-4e86-af2e-67755f6488d8">7,400</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="ide94822e72ae4e468937490e0999dae2_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNy00LTEtMS0w_d60c313d-3c67-43ce-88f7-e4fca135d167">3,704</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="ide94822e72ae4e468937490e0999dae2_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNy02LTEtMS0w_aefcb4c9-a276-40a2-a127-3e36a653336a">3,696</ix:nonFraction>&#160;</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%"><ix:nonNumeric contextRef="i53f849b4b49a460eb652e8551bd8f121_D20210101-20210630" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNy04LTEtMS0w_c4c0d325-536a-4a3e-8b5d-718a1d0c492e">5.0</ix:nonNumeric></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%"><ix:nonFraction unitRef="usd" contextRef="i044097dc58bd47e3b73af8d59084a762_I20210630" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfOC0yLTEtMS0w_30fa6652-545e-4e9d-90f3-c9ffa76441c3">90</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="i044097dc58bd47e3b73af8d59084a762_I20210630" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfOC00LTEtMS0w_95ed8e64-f4d5-45d3-8b19-d8d7259b9488">73</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="i044097dc58bd47e3b73af8d59084a762_I20210630" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfOC02LTEtMS0w_72ea56f6-35cf-417b-bb69-779385328c69">17</ix:nonFraction>&#160;</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%"><ix:nonNumeric contextRef="i6a950cc780a74990bc91e4ac162e9925_D20210101-20210630" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfOC04LTEtMS0w_51af12fd-43d5-4a0c-ab97-377c0fc91050">5.0</ix:nonNumeric></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%"><ix:nonFraction unitRef="usd" contextRef="i61cc8313c7364bb498d9909b794826c3_I20210630" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfOS0yLTEtMS0w_3756c602-0d16-4c8d-93be-1e3d8eb03e0f">252</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="i61cc8313c7364bb498d9909b794826c3_I20210630" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfOS00LTEtMS0w_e4f979ff-42aa-44bf-ae3a-244259166bda">245</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="i61cc8313c7364bb498d9909b794826c3_I20210630" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfOS02LTEtMS0w_78839c87-0bde-401f-b20b-c74c45c25b76">7</ix:nonFraction>&#160;</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%"><ix:nonNumeric contextRef="i471c1922ad7744a29b1d425144c28d8a_D20210101-20210630" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfOS04LTEtMS0w_ec03cfc1-5479-4c32-b615-744af0fc773c">5.0</ix:nonNumeric></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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfMTEtMi0xLTEtMA_5295e298-46a9-4c5e-9bf3-6324b6b78a55">28,021</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfMTEtNC0xLTEtMA_3cca7d62-51bc-4a46-8fc8-958a1a7d50bd">14,004</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfMTEtNi0xLTEtMA_4cfbc218-52bd-4928-9020-8587c8265c24">14,017</ix:nonFraction>&#160;</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%"><ix:nonNumeric contextRef="idb86a52960d84a2581f27735f7fd916e_D20210101-20210630" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfMTEtOC0xLTEtMA_05272b55-51f6-4f4e-ab73-9bc802846772">6.3</ix:nonNumeric></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:99.707%"><tr><td style="width:1.0%"></td><td style="width:38.196%"></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:13.416%"></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:13.122%"></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:13.416%"></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:13.418%"></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%">&#160;</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, 2020</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%">&#160;</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&#160;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&#160;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&#160;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%"><ix:nonFraction unitRef="usd" contextRef="i8c959351821a4d9f924811c4e8243e3d_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfMi0yLTEtMS0w_82babf0b-f5a6-44b6-b54c-f4fe1d05eba1">2,840</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="i8c959351821a4d9f924811c4e8243e3d_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfMi00LTEtMS0w_997ee5c8-3c87-4b2c-8af1-e8c9708d1d7d">1,550</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="i8c959351821a4d9f924811c4e8243e3d_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfMi02LTEtMS0w_7be0fb59-4e1b-4d46-a6a8-3398a257f87e">1,290</ix:nonFraction>&#160;</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%"><ix:nonNumeric contextRef="i12d94561df5949ce90d9891ce2fb4953_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfMi04LTEtMS0w_97484017-4c99-4568-93a4-2a1ed46cdd9d">5.0</ix:nonNumeric></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%"><ix:nonFraction unitRef="usd" contextRef="i1f52faf5c88c43859b448241b478899d_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfMy0yLTEtMS0w_b88db4e7-8631-484c-9e48-229342c39a73">8,330</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="i1f52faf5c88c43859b448241b478899d_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfMy00LTEtMS0w_c1ecc20e-e43d-488e-9230-f69d611d9642">1,787</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="i1f52faf5c88c43859b448241b478899d_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfMy02LTEtMS0w_05cea764-645d-4d61-aefd-f759fc8f8269">6,543</ix:nonFraction>&#160;</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%"><ix:nonNumeric contextRef="ie010e950e3c645448db010cdfde0d7a3_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfMy04LTEtMS0w_36a4f4c6-f931-4af0-8f8b-eb02404899c8">10.0</ix:nonNumeric></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%"><ix:nonFraction unitRef="usd" contextRef="iafb4b76941f54e54bbbfdb2ea1902274_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNC0yLTEtMS0w_ae7101ad-88b8-46d2-872a-83238e48c243">6,539</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="iafb4b76941f54e54bbbfdb2ea1902274_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNC00LTEtMS0w_bc2c4a03-c16b-4014-ba77-b2e9cc489f41">3,641</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="iafb4b76941f54e54bbbfdb2ea1902274_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNC02LTEtMS0w_9db39e03-3ffa-4e15-8055-3d4530a6bdf0">2,898</ix:nonFraction>&#160;</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%"><ix:nonNumeric contextRef="if70c4fe2b6854e63b0b43982c8743f25_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNC04LTEtMS0w_2cc5fba9-b065-48f5-b47c-248ad783582b">4.0</ix:nonNumeric></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%"><ix:nonFraction unitRef="usd" contextRef="if8190a6e76d34e7cb1113e0f29a2a802_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNS0yLTEtMS0w_aa8d8d9e-6467-4d68-a2ca-0800826e0830">1,890</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="if8190a6e76d34e7cb1113e0f29a2a802_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNS00LTEtMS0w_94e625bc-ef21-4914-bb5e-53f0d1398c50">732</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="if8190a6e76d34e7cb1113e0f29a2a802_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNS02LTEtMS0w_0047021a-7c98-4e3f-8e92-f7d72eabdaa2">1,158</ix:nonFraction>&#160;</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%"><ix:nonNumeric contextRef="i0b758220edb54b67a3aad4e28a17a5ee_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNS04LTEtMS0w_f113bd39-3098-4dbb-aa24-c3f4c6d895f7">5.0</ix:nonNumeric></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%"><ix:nonFraction unitRef="usd" contextRef="i828519f92cdb4aaeb817676356d9cb6c_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNi0yLTEtMS0w_74ca70bc-454e-4895-8be7-2bd9b561e155">680</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="i828519f92cdb4aaeb817676356d9cb6c_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNi00LTEtMS0w_956ce1fa-a128-4f16-ac51-c9cd9f473426">680</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="i828519f92cdb4aaeb817676356d9cb6c_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNi02LTEtMS0w_0e521844-2dc3-43cc-9b75-8ac5c471a2f1">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonNumeric contextRef="idff1f80f90c34bce942a834aec10e36d_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNi04LTEtMS0w_f10a688f-f86f-48e4-affc-0bbe22e82ea7">3.0</ix:nonNumeric></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%"><ix:nonFraction unitRef="usd" contextRef="i9d2bf7c1de9f4a3b8034bbd7107c5012_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNy0yLTEtMS0w_33226cc7-9c44-4df6-a967-b422c60f5f61">7,400</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="i9d2bf7c1de9f4a3b8034bbd7107c5012_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNy00LTEtMS0w_effe9060-dfc1-4f54-b65c-a2f7a770d6de">2,964</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="i9d2bf7c1de9f4a3b8034bbd7107c5012_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNy02LTEtMS0w_af31476b-365c-45f1-8d6f-4ad7de99282a">4,436</ix:nonFraction>&#160;</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%"><ix:nonNumeric contextRef="i5120c784cc0f4a0f830cf609ddd96d93_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNy04LTEtMS0w_cfc1c889-c1ec-4e23-acd8-a73e6b62ada7">5.0</ix:nonNumeric></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%"><ix:nonFraction unitRef="usd" contextRef="i5643187a8c49426da72ed68edfabf4cd_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfOC0yLTEtMS0w_c3e028dd-1a8b-4c08-b75b-b1faf2bba5d2">90</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="i5643187a8c49426da72ed68edfabf4cd_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfOC00LTEtMS0w_59ae087f-1254-423a-a727-ea015d3cbaa1">70</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="i5643187a8c49426da72ed68edfabf4cd_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfOC02LTEtMS0w_8cf79dcf-931c-4720-b13b-0189a40600b7">20</ix:nonFraction>&#160;</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%"><ix:nonNumeric contextRef="ieca3f4693e0d409c923775aea995c321_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfOC04LTEtMS0w_3fb85e63-d23c-47d2-a8cd-f2ae8c474be2">5.0</ix:nonNumeric></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%"><ix:nonFraction unitRef="usd" contextRef="i19195c794eee492ebbc960939682a61e_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfOS0yLTEtMS0w_14f1a54e-a7f6-49f2-94b1-3bb6b551fa5c">252</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="i19195c794eee492ebbc960939682a61e_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfOS00LTEtMS0w_49982d3a-d1b6-487b-b588-690417373588">240</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="i19195c794eee492ebbc960939682a61e_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfOS02LTEtMS0w_1bcc8e50-14ad-4406-8eca-66e9e5c96ddd">12</ix:nonFraction>&#160;</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%"><ix:nonNumeric contextRef="ic5694ee27dc645a480865df6454ae8c3_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfOS04LTEtMS0w_7a8aefe0-b19a-4943-a0a4-8823daa8c69f">5.0</ix:nonNumeric></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%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfMTEtMi0xLTEtMA_47fd33e7-883d-408b-afee-372b1d3d6fee">28,021</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfMTEtNC0xLTEtMA_aa51dae7-fb4b-4f44-ab25-dfaed3f353fc">11,664</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfMTEtNi0xLTEtMA_6ec399e9-9e6d-4bb8-9b8d-69c4bedaf057">16,357</ix:nonFraction>&#160;</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%"><ix:nonNumeric contextRef="i6e2689eb8762402ca6f30d14a23935d2_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfMTEtOC0xLTEtMA_18231918-3bbf-4451-9873-caa780302c7d">6.3</ix:nonNumeric></span></td></tr></table></div></ix:nonNumeric><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 $<ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RleHRyZWdpb246YTU1MWQyYTU5ZTQ0NGQxYjgyMTQ2MGZiYmZlZTAyYWFfMTc1_2e1f85e3-8d9c-4f4d-9f4d-cda045940e52"><ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RleHRyZWdpb246YTU1MWQyYTU5ZTQ0NGQxYjgyMTQ2MGZiYmZlZTAyYWFfMTc1_41eca90d-1654-4e9a-beb9-592fe9737ab4">1.2</ix:nonFraction></ix:nonFraction> million for the three months ended June&#160;30, 2021 and 2020, and $<ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RleHRyZWdpb246YTU1MWQyYTU5ZTQ0NGQxYjgyMTQ2MGZiYmZlZTAyYWFfMTA5OTUxMTYyODIxNg_837ec703-cbe7-4c2d-9c2a-edca6d9f11ec">2.3</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RleHRyZWdpb246YTU1MWQyYTU5ZTQ0NGQxYjgyMTQ2MGZiYmZlZTAyYWFfMTA5OTUxMTYyODIyNA_cabecfd2-f222-4c5d-bb1c-fd27c90fcecb">2.5</ix:nonFraction> million for the six months ended June&#160;30, 2021 and 2020, respectively. <ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RleHRyZWdpb246YTU1MWQyYTU5ZTQ0NGQxYjgyMTQ2MGZiYmZlZTAyYWFfMzU3_3dc5d698-37c5-407e-8329-623f7d9b1a2d" continuedAt="ib8e83434fc52499c95b5fe7fb9aad33b" escape="true">Future amortization expense with respect to intangible assets is estimated as follows (in thousands):</ix:nonNumeric></span></div><div style="margin-top:5pt"><ix:continuation id="ib8e83434fc52499c95b5fe7fb9aad33b"><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%">2021</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjExY2ZmNzk3MGE0MzQxZWU4YzYyYWJmYzI0NTFmOTNmL3RhYmxlcmFuZ2U6MTFjZmY3OTcwYTQzNDFlZThjNjJhYmZjMjQ1MWY5M2ZfMS0yLTEtMS0w_294ab6f5-3787-431b-a575-7c79cf5ae24a">2,306</ix:nonFraction>&#160;</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%">2022</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjExY2ZmNzk3MGE0MzQxZWU4YzYyYWJmYzI0NTFmOTNmL3RhYmxlcmFuZ2U6MTFjZmY3OTcwYTQzNDFlZThjNjJhYmZjMjQ1MWY5M2ZfMi0yLTEtMS0w_e66a1c63-3995-4035-9dd1-f091c60184fa">4,605</ix:nonFraction>&#160;</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%">2023</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjExY2ZmNzk3MGE0MzQxZWU4YzYyYWJmYzI0NTFmOTNmL3RhYmxlcmFuZ2U6MTFjZmY3OTcwYTQzNDFlZThjNjJhYmZjMjQ1MWY5M2ZfMy0yLTEtMS0w_ac4331d1-1617-4ac7-8898-e027a5c9d049">3,060</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjExY2ZmNzk3MGE0MzQxZWU4YzYyYWJmYzI0NTFmOTNmL3RhYmxlcmFuZ2U6MTFjZmY3OTcwYTQzNDFlZThjNjJhYmZjMjQ1MWY5M2ZfNC0yLTEtMS0w_9183606a-8e78-4585-a122-320f037fbd29">835</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjExY2ZmNzk3MGE0MzQxZWU4YzYyYWJmYzI0NTFmOTNmL3RhYmxlcmFuZ2U6MTFjZmY3OTcwYTQzNDFlZThjNjJhYmZjMjQ1MWY5M2ZfNS0yLTEtMS0w_1e7ef070-28d2-47f2-a2b5-f635342fc6ec">833</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="appf:FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjExY2ZmNzk3MGE0MzQxZWU4YzYyYWJmYzI0NTFmOTNmL3RhYmxlcmFuZ2U6MTFjZmY3OTcwYTQzNDFlZThjNjJhYmZjMjQ1MWY5M2ZfNi0yLTEtMS0w_eb39d997-6e7c-4e44-bd65-a82b41306283">2,378</ix:nonFraction>&#160;</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%">&#160;&#160;&#160;&#160;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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjExY2ZmNzk3MGE0MzQxZWU4YzYyYWJmYzI0NTFmOTNmL3RhYmxlcmFuZ2U6MTFjZmY3OTcwYTQzNDFlZThjNjJhYmZjMjQ1MWY5M2ZfNy0yLTEtMS0w_2161832a-0563-4dbb-9795-dcb69ba801d6">14,017</ix:nonFraction>&#160;</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></ix:continuation></div></ix:continuation><div><span><br/></span></div><div style="text-align:justify;text-indent:36pt"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16</span></div></div></div><div id="i33d2ee1a81324077be4958e6cee29b3d_52"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">7. <ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:CompensationRelatedCostsGeneralTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RleHRyZWdpb246ZjE4OTAyMjA5N2ZkNGI1YmJmOWUyNzdlMGMzZWMyNmJfMTcwNg_035b596b-0a52-4f6d-b502-665d008c3884" continuedAt="i153e3e416139451b8c6ef8a8a914d0b3" escape="true">Accrued Employee Expenses </ix:nonNumeric></span></div><ix:continuation id="i153e3e416139451b8c6ef8a8a914d0b3"><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="appf:ScheduleOfAccruedEmployeeExpensesTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RleHRyZWdpb246ZjE4OTAyMjA5N2ZkNGI1YmJmOWUyNzdlMGMzZWMyNmJfMTcwNQ_760569cd-3105-4b77-8d26-7485b080e4da" escape="true"><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;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: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,</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</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 #000;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%">2021</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%">2020</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedVacationCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfMi0yLTEtMS0w_13fbf2fb-7b03-43f1-948b-38dc62339605">9,891</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedVacationCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfMi00LTEtMS0w_2a64091f-9052-46ec-87de-fadc2d07c7e3">8,277</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedBonusesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfMy0yLTEtMS0w_80cc491f-30db-4fd3-88fa-46888375e8ac">7,024</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedBonusesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfMy00LTEtMS0w_ac88f64a-bb9c-4fec-afbd-ffe39f3e3d0d">5,638</ix:nonFraction>&#160;</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 commissions</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedSalesCommissionCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfNC0yLTEtMS0w_93baac6d-ecfc-431c-9a88-30ae47935262">2,191</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedSalesCommissionCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfNC00LTEtMS0w_6388e377-0afa-460e-8472-c64b7f423e23">1,995</ix:nonFraction>&#160;</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</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedSalariesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfNS0yLTEtMS0w_10d4cbe2-880d-45bf-a977-e1976749980a">7,169</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedSalariesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfNS00LTEtMS0w_edd2d6ea-7426-4d01-a29e-53aa1b0865b3">1,921</ix:nonFraction>&#160;</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 payroll taxes and 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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedPayrollTaxesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfNi0yLTEtMS0w_d6eee4ec-2001-431a-b10d-58650754a78b">1,229</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedPayrollTaxesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfNi00LTEtMS0w_09187f00-f310-4777-9aeb-dd9181c60522">1,057</ix:nonFraction>&#160;</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%">&#160;&#160;&#160;&#160;Total accrued employee expenses&#8212;current</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;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-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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfNy0yLTEtMS0w_210bdbb4-cf5a-41f9-98b8-bc2a55d4c56f">27,504</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;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-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-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%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfNy00LTEtMS0w_62b2c338-daaa-4d77-a2bd-091839f09603">18,888</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;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;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></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 employee expenses&#8212;noncurrent</span></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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" name="us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfOS0yLTEtMS0w_1741828f-c599-4db4-b882-c97f29ddd6b0">968</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfOS00LTEtMS0w_a08b7915-e0f9-4029-a8f0-f35ec1c16104">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><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 Company has adopted several long-term executive cash incentive plans (the &#8220;Plan(s)&#8221;), which are designed to reward certain executives, including certain of our named executive officers, for their contributions toward our long-term strategic objectives (the &#8220;Performance Conditions&#8221;), which vary by Plan. We are required to estimate the probable payout under the Plans based on management&#8217;s judgment using, among other things, an internally developed rolling three year plan (the &#8220;Three Year Plan&#8221;). Compensation costs are recorded on a straight-line basis over the relevant service period to the extent we believe it is probable the Performance Conditions in an applicable Plan will be achieved over the course of such performance period. Adjustments to projected compensation costs are recognized on a prospective basis over the remaining service period based on changes in our estimate of the probability of achieving the various Performance Conditions. </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%">During the three months ended March 31, 2021, the Board of Directors approved the 2021 Three Year Plan, which allowed us to assess the probability of achieving the Performance Conditions under the Plans through December 31, 2023. During the three months ended June 30, 2021, the Company re-assessed the probability of achieving the Performance Conditions under the Plans. Based on that updated assessment, we recorded $<ix:nonFraction unitRef="usd" contextRef="id2f2903374cd498682a3d5c790913ad4_I20210630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RleHRyZWdpb246ZjE4OTAyMjA5N2ZkNGI1YmJmOWUyNzdlMGMzZWMyNmJfMTIxOQ_000bbe94-c786-46eb-bc58-d964c5514f1a">0.5</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="id2f2903374cd498682a3d5c790913ad4_I20210630" decimals="-5" format="ixt:numdotdecimal" name="appf:EmployeeRelatedLiabilitiesNoncurrent" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RleHRyZWdpb246ZjE4OTAyMjA5N2ZkNGI1YmJmOWUyNzdlMGMzZWMyNmJfMTIyNg_304a54c2-30af-42eb-9d6e-26b10bab91f9">1.0</ix:nonFraction>&#160;million 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%">Accrued employee expenses-current</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Accrued employee expenses-noncurrent</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, respectively, in the Condensed Consolidated Balance Sheet related to the Plans. There are Plans for which no accrual has been recorded as it was determined that it is not currently probable that the related Performance Conditions will be achieved. Amounts recorded under the Plans are based on assumptions and estimates subject to uncertainties and may fluctuate significantly each reporting period.</span></div></ix:continuation><div id="i33d2ee1a81324077be4958e6cee29b3d_55"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">8. <ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:LesseeOperatingLeasesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RleHRyZWdpb246M2I3MTQ3NmVhZWIyNDFlY2JjZjQ2NDI4OTkyYTY0ZjBfMTU1NQ_d2bff2ba-14d1-4386-b22d-cd54950ecdc7" continuedAt="ieb9ec1c7f16c413c8d6522e179b95956" escape="true">Leases</ix:nonNumeric></span></div><ix:continuation id="ieb9ec1c7f16c413c8d6522e179b95956" continuedAt="ibe93ea5616b94ed88c919d1715c73030"><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:id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RleHRyZWdpb246M2I3MTQ3NmVhZWIyNDFlY2JjZjQ2NDI4OTkyYTY0ZjBfOTg_4c29c6f1-62ae-4f47-8c0d-6b3cfa00e05b">one</span> to <ix:nonNumeric contextRef="ib844e87bbafd437db894990bc302c955_I20210630" format="ixt-sec:durwordsen" name="us-gaap:LesseeOperatingLeaseTermOfContract" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RleHRyZWdpb246M2I3MTQ3NmVhZWIyNDFlY2JjZjQ2NDI4OTkyYTY0ZjBfMTA0_3a0fe081-f799-4e15-89a0-54e2e9e502e7">eleven years</ix:nonNumeric>, some of which include options to extend the leases for up to <ix:nonNumeric contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" format="ixt-sec:durwordsen" name="us-gaap:LessorOperatingLeaseRenewalTerm" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RleHRyZWdpb246M2I3MTQ3NmVhZWIyNDFlY2JjZjQ2NDI4OTkyYTY0ZjBfMTY5_ce0b2bd7-72cf-4fda-87f1-5f8236f1c37f">ten years</ix:nonNumeric>. 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. We have lease agreements with lease and non-lease components, which we have elected to combine for all asset classes. Certain leases contain provisions for property-related costs that are variable in nature for which the Company is responsible, including common area maintenance, which are expensed as incurred. </span></div><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:LeaseCostTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RleHRyZWdpb246M2I3MTQ3NmVhZWIyNDFlY2JjZjQ2NDI4OTkyYTY0ZjBfMTU1Ng_961d14d2-0b08-47a1-ac8e-efbdf0f4f131" continuedAt="i195a6cb3e93044f5a9bf45ff73964d12" escape="true"><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: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: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%">2021</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%">2020</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%">2021</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%">2020</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%"><ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjVjYzU5MWMzNDNmZTRiYTM4ODVlMTUyYzM0OTNlMmQyL3RhYmxlcmFuZ2U6NWNjNTkxYzM0M2ZlNGJhMzg4NWUxNTJjMzQ5M2UyZDJfMi0xLTEtMS0xNjAw_135cdef4-6589-40e6-ad95-e7c44c78a26a">1,202</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjVjYzU5MWMzNDNmZTRiYTM4ODVlMTUyYzM0OTNlMmQyL3RhYmxlcmFuZ2U6NWNjNTkxYzM0M2ZlNGJhMzg4NWUxNTJjMzQ5M2UyZDJfMi0zLTEtMS0xNjAz_dc6ad299-135e-4344-9d4c-b5b5a25c1622">1,412</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjVjYzU5MWMzNDNmZTRiYTM4ODVlMTUyYzM0OTNlMmQyL3RhYmxlcmFuZ2U6NWNjNTkxYzM0M2ZlNGJhMzg4NWUxNTJjMzQ5M2UyZDJfMi0xLTEtMS0w_9177c871-4957-4f0c-86aa-ff9f34e3458a">2,297</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjVjYzU5MWMzNDNmZTRiYTM4ODVlMTUyYzM0OTNlMmQyL3RhYmxlcmFuZ2U6NWNjNTkxYzM0M2ZlNGJhMzg4NWUxNTJjMzQ5M2UyZDJfMi0zLTEtMS0w_b04aa648-32d6-4ddc-8e1d-c36fbf73b915">2,848</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" name="us-gaap:VariableLeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjVjYzU5MWMzNDNmZTRiYTM4ODVlMTUyYzM0OTNlMmQyL3RhYmxlcmFuZ2U6NWNjNTkxYzM0M2ZlNGJhMzg4NWUxNTJjMzQ5M2UyZDJfMy0xLTEtMS0xNjAw_070443eb-ed58-4015-986d-0b0f05dc5d3f">394</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" name="us-gaap:VariableLeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjVjYzU5MWMzNDNmZTRiYTM4ODVlMTUyYzM0OTNlMmQyL3RhYmxlcmFuZ2U6NWNjNTkxYzM0M2ZlNGJhMzg4NWUxNTJjMzQ5M2UyZDJfMy0zLTEtMS0xNjAz_76e0945a-1cd7-4c51-973f-c0429e572d58">399</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" name="us-gaap:VariableLeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjVjYzU5MWMzNDNmZTRiYTM4ODVlMTUyYzM0OTNlMmQyL3RhYmxlcmFuZ2U6NWNjNTkxYzM0M2ZlNGJhMzg4NWUxNTJjMzQ5M2UyZDJfMy0xLTEtMS0w_9624479f-cd25-4bc6-b668-fc5f06db68f6">700</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" name="us-gaap:VariableLeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjVjYzU5MWMzNDNmZTRiYTM4ODVlMTUyYzM0OTNlMmQyL3RhYmxlcmFuZ2U6NWNjNTkxYzM0M2ZlNGJhMzg4NWUxNTJjMzQ5M2UyZDJfMy0zLTEtMS0w_81c616f5-f8d0-4ed2-b3f7-fc57fc710a95">792</ix:nonFraction>&#160;</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%">&#160;&#160;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%"><ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjVjYzU5MWMzNDNmZTRiYTM4ODVlMTUyYzM0OTNlMmQyL3RhYmxlcmFuZ2U6NWNjNTkxYzM0M2ZlNGJhMzg4NWUxNTJjMzQ5M2UyZDJfNC0xLTEtMS0xNjAw_5683d9c5-1478-4f7f-8cd5-140fbca82ed4">1,596</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjVjYzU5MWMzNDNmZTRiYTM4ODVlMTUyYzM0OTNlMmQyL3RhYmxlcmFuZ2U6NWNjNTkxYzM0M2ZlNGJhMzg4NWUxNTJjMzQ5M2UyZDJfNC0zLTEtMS0xNjAz_309bbbbf-0011-48ff-a50c-46c3f42e8164">1,811</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjVjYzU5MWMzNDNmZTRiYTM4ODVlMTUyYzM0OTNlMmQyL3RhYmxlcmFuZ2U6NWNjNTkxYzM0M2ZlNGJhMzg4NWUxNTJjMzQ5M2UyZDJfNC0xLTEtMS0w_49013c6e-f1bf-4a2c-ada4-c669d9c98700">2,997</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjVjYzU5MWMzNDNmZTRiYTM4ODVlMTUyYzM0OTNlMmQyL3RhYmxlcmFuZ2U6NWNjNTkxYzM0M2ZlNGJhMzg4NWUxNTJjMzQ5M2UyZDJfNC0zLTEtMS0w_a1ac1fe3-3e76-40ed-826d-502a59c61ffc">3,640</ix:nonFraction>&#160;</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></ix:nonNumeric></ix:continuation><div style="margin-bottom:6pt;margin-top:5pt"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><ix:continuation id="ibe93ea5616b94ed88c919d1715c73030"><ix:continuation id="i195a6cb3e93044f5a9bf45ff73964d12"><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 as of June&#160;30, 2021 and December&#160;31, 2020 (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/>2021</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/>2020</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="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%">Prepaid expenses and other current 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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="appf:OperatingLeasePrepaidExpensesAndOtherCurrentAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfMi0xLTEtMS0w_4983242a-2527-4b4a-b786-bb431a1f0b0b">6,599</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="appf:OperatingLeasePrepaidExpensesAndOtherCurrentAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfMi0zLTEtMS0w_8fc3635d-99e0-4ebb-94f2-8d8dede779c1">3,972</ix:nonFraction>&#160;</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%">Operating lease right-of-use assets</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfMy0xLTEtMS0w_54f3fc95-917b-4da4-b134-9e005def4667">40,983</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfMy0zLTEtMS0w_8f6c23d0-82a8-4edb-9093-5ed6fd1f24aa">30,561</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><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></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%">Liabilities</span></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:400;line-height:100%"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfNi0wLTEtMS0w_58f37670-ee5b-48fa-adbf-a9b8ba85689b"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfNi0wLTEtMS0w_80e2d195-6079-4671-9e00-2846107801df">Other current liabilities</span></span></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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfNi0xLTEtMS0w_6f38c6c1-2a21-4599-ae6c-23728b90642d">1,561</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfNi0zLTEtMS0w_b78c4ad7-4826-492a-8d1e-03def693c6aa">1,845</ix:nonFraction>&#160;</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%">Operating lease liabilities</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfNy0xLTEtMS0w_0ae1444d-5ec0-4616-9069-0dd3776e85f6">53,936</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfNy0zLTEtMS0w_f731dc88-609b-4910-8737-f08033466fb3">40,146</ix:nonFraction>&#160;</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 lease liabilities</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfOC0xLTEtMS0w_e5c49723-c63c-4ed8-aa39-72fd84e4c654">55,497</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfOC0zLTEtMS0w_724b81e2-c376-4611-ba13-7b161cf97766">41,991</ix:nonFraction>&#160;</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><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></ix:continuation><div style="text-align:center"><span><br/></span></div><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RleHRyZWdpb246M2I3MTQ3NmVhZWIyNDFlY2JjZjQ2NDI4OTkyYTY0ZjBfMTU1NA_da63c6ca-fb43-4030-a090-7629bc7c0664" escape="true"><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&#160;30, 2021 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%">2021</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%">(<ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOmY1MzdlMzJlYWE1MDQwY2Q4NjA5MWU3ZGIxMWM0YjA2L3RhYmxlcmFuZ2U6ZjUzN2UzMmVhYTUwNDBjZDg2MDkxZTdkYjExYzRiMDZfMS0xLTEtMS0w_41865f6a-0c06-4ad5-b568-e83f601746cb">4,645</ix:nonFraction>)</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%">2022</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOmY1MzdlMzJlYWE1MDQwY2Q4NjA5MWU3ZGIxMWM0YjA2L3RhYmxlcmFuZ2U6ZjUzN2UzMmVhYTUwNDBjZDg2MDkxZTdkYjExYzRiMDZfMi0xLTEtMS0w_db45b912-a7c8-405a-b54c-dc1f9d141f5b">4,022</ix:nonFraction>&#160;</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"><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 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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOmY1MzdlMzJlYWE1MDQwY2Q4NjA5MWU3ZGIxMWM0YjA2L3RhYmxlcmFuZ2U6ZjUzN2UzMmVhYTUwNDBjZDg2MDkxZTdkYjExYzRiMDZfMy0xLTEtMS0w_0c1a9d33-ecc2-4f89-b4df-d7ea66b4f8b0">4,850</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOmY1MzdlMzJlYWE1MDQwY2Q4NjA5MWU3ZGIxMWM0YjA2L3RhYmxlcmFuZ2U6ZjUzN2UzMmVhYTUwNDBjZDg2MDkxZTdkYjExYzRiMDZfNC0xLTEtMS0w_e59b7c8e-1423-4531-bd8c-a939ecb22b95">5,814</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOmY1MzdlMzJlYWE1MDQwY2Q4NjA5MWU3ZGIxMWM0YjA2L3RhYmxlcmFuZ2U6ZjUzN2UzMmVhYTUwNDBjZDg2MDkxZTdkYjExYzRiMDZfNS0xLTEtMS0w_b7a3d7c7-fa52-4820-ad05-8213d5aa5def">6,481</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="appf:LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOmY1MzdlMzJlYWE1MDQwY2Q4NjA5MWU3ZGIxMWM0YjA2L3RhYmxlcmFuZ2U6ZjUzN2UzMmVhYTUwNDBjZDg2MDkxZTdkYjExYzRiMDZfNi0xLTEtMS0w_95940be0-5d76-4225-9299-b1cae81db9ad">46,783</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOmY1MzdlMzJlYWE1MDQwY2Q4NjA5MWU3ZGIxMWM0YjA2L3RhYmxlcmFuZ2U6ZjUzN2UzMmVhYTUwNDBjZDg2MDkxZTdkYjExYzRiMDZfNy0xLTEtMS0w_88d5be39-9cdf-4f49-a7c1-6dcd4095c09b">63,305</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOmY1MzdlMzJlYWE1MDQwY2Q4NjA5MWU3ZGIxMWM0YjA2L3RhYmxlcmFuZ2U6ZjUzN2UzMmVhYTUwNDBjZDg2MDkxZTdkYjExYzRiMDZfOC0xLTEtMS0w_d3c971c1-20fb-4bb2-ba15-6341e764b17e">14,407</ix:nonFraction>)</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"><div style="padding-left:11.25pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</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">(2)</span></div></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%"><ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="appf:LesseeOperatingLeaseLiabilityNetOfCurrentPortion" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOmY1MzdlMzJlYWE1MDQwY2Q4NjA5MWU3ZGIxMWM0YjA2L3RhYmxlcmFuZ2U6ZjUzN2UzMmVhYTUwNDBjZDg2MDkxZTdkYjExYzRiMDZfOS0xLTEtMS0w_cb6dec46-c5e9-451c-a203-668008a4c0d7">48,898</ix:nonFraction>&#160;</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="text-align:justify;text-indent:36pt"><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, 2021, 2022, 2023, and 2024 are presented net of tenant improvement allowances of $<ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-5" format="ixt:numdotdecimal" name="appf:LesseeOperatingLeaseTenantAllowanceRemainderOfFiscalYear" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RleHRyZWdpb246M2I3MTQ3NmVhZWIyNDFlY2JjZjQ2NDI4OTkyYTY0ZjBfMTE5Mg_917815e4-6ea7-46ba-bb56-441529f34e88">6.9</ix:nonFraction>&#160;million, $<ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-5" format="ixt:numdotdecimal" name="appf:LesseeOperatingLeaseTenantAllowanceYearOne" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RleHRyZWdpb246M2I3MTQ3NmVhZWIyNDFlY2JjZjQ2NDI4OTkyYTY0ZjBfMTA5OTUxMTYyOTQ5Nw_2d174574-bf39-4a11-b1cb-64dc38590e32">0.6</ix:nonFraction>&#160;million, $<ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-5" format="ixt:numdotdecimal" name="appf:LesseeOperatingLeaseTenantAllowanceYearTwo" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RleHRyZWdpb246M2I3MTQ3NmVhZWIyNDFlY2JjZjQ2NDI4OTkyYTY0ZjBfMTA5OTUxMTYyOTUyOQ_73633784-ade2-4d9d-b641-ad99723e2701">0.8</ix:nonFraction>&#160;million, and $<ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-5" format="ixt:numdotdecimal" name="appf:LesseeOperatingLeaseTenantAllowanceYearThree" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RleHRyZWdpb246M2I3MTQ3NmVhZWIyNDFlY2JjZjQ2NDI4OTkyYTY0ZjBfMTA5OTUxMTYyOTU4Mw_14e35f43-037d-495f-b342-5e844b503abe">0.2</ix:nonFraction>&#160;million, respectively.</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:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(2) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total future minimum lease payments include the current portion of lease liabilities recorded 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%"> of $<ix:nonFraction unitRef="usd" contextRef="id3c0695640ea4474b5f4c48be9cdd7a6_I20210630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RleHRyZWdpb246M2I3MTQ3NmVhZWIyNDFlY2JjZjQ2NDI4OTkyYTY0ZjBfMTM0Mg_e90fadd9-bc23-4c18-9e1b-7a3ed1307046">6.6</ix:nonFraction>&#160;million on our Condensed Consolidated Balance Sheets, which relates to certain of our leases for which the lease incentives to be received exceed the minimum lease payments to be paid over the next 12 months.</span></div></ix:nonNumeric></ix:continuation><div id="i33d2ee1a81324077be4958e6cee29b3d_58"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">9. <ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81OC9mcmFnOjYyZmQ2ZDQyZTNiNzRhOTFiZDhkYWU0ODRiMjJkMTE1L3RleHRyZWdpb246NjJmZDZkNDJlM2I3NGE5MWJkOGRhZTQ4NGIyMmQxMTVfNDQ4Mg_79f4de05-fe56-453e-8ac8-ebff76f523ce" continuedAt="i6063fea9fbe54caa860e7ddac246e5f1" escape="true">Commitments and Contingencies</ix:nonNumeric></span></div><ix:continuation id="i6063fea9fbe54caa860e7ddac246e5f1" continuedAt="id5c0962dc663495e9aeb414f2f956c93"><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 to provide our customers with the option to purchase legal liability to landlord insurance. If our customers choose to use this insurance service, they are issued an insurance policy underwritten by our third-party service provider. The policy has a limit of $<ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="INF" format="ixt:numdotdecimal" name="appf:PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81OC9mcmFnOjYyZmQ2ZDQyZTNiNzRhOTFiZDhkYWU0ODRiMjJkMTE1L3RleHRyZWdpb246NjJmZDZkNDJlM2I3NGE5MWJkOGRhZTQ4NGIyMmQxMTVfNDI3_3517463b-28bb-412a-b3e0-2bb131a0ce0f">100</ix:nonFraction>&#160;thousand per incident for each insured residence. We have entered into a reinsurance agreement with our third-party service provider and, as a result, we assume a <ix:nonFraction unitRef="number" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="INF" name="us-gaap:ReinsuranceRetentionPolicyReinsuredRiskPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81OC9mcmFnOjYyZmQ2ZDQyZTNiNzRhOTFiZDhkYWU0ODRiMjJkMTE1L3RleHRyZWdpb246NjJmZDZkNDJlM2I3NGE5MWJkOGRhZTQ4NGIyMmQxMTVfNTg0_8317205f-4c13-4d62-b500-cc2d3d704514">100</ix:nonFraction>% quota share of the legal liability to landlord insurance provided to our customers through 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 liability for reported claims and incurred but not reported claims as of June&#160;30, 2021 and December&#160;31, 2020 was $<ix:nonFraction unitRef="usd" contextRef="ifbb8a31e296a4af2a6630486c728e36f_I20210630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81OC9mcmFnOjYyZmQ2ZDQyZTNiNzRhOTFiZDhkYWU0ODRiMjJkMTE1L3RleHRyZWdpb246NjJmZDZkNDJlM2I3NGE5MWJkOGRhZTQ4NGIyMmQxMTVfMTAwMQ_6d0a3370-6d14-492e-aa85-f24feb8eae3e">1.5</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i7d123251a4364ea8880da70fc7a7e68c_I20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81OC9mcmFnOjYyZmQ2ZDQyZTNiNzRhOTFiZDhkYWU0ODRiMjJkMTE1L3RleHRyZWdpb246NjJmZDZkNDJlM2I3NGE5MWJkOGRhZTQ4NGIyMmQxMTVfMTAwOA_57ad70b7-e12b-4666-b546-d2359de34a85">1.5</ix:nonFraction> 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&#160;30, 2021 and December&#160;31, 2020 are $<ix:nonFraction unitRef="usd" contextRef="icede5472c35f45ddbe0e142de0f8dc18_I20210630" decimals="-5" format="ixt:numdotdecimal" name="appf:PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81OC9mcmFnOjYyZmQ2ZDQyZTNiNzRhOTFiZDhkYWU0ODRiMjJkMTE1L3RleHRyZWdpb246NjJmZDZkNDJlM2I3NGE5MWJkOGRhZTQ4NGIyMmQxMTVfMTE5MQ_60ad8d1e-9cee-48d3-9f9c-65428bf000c4">1.8</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i0918a28f49634eba8a6c766b493cfbe3_I20201231" decimals="-5" format="ixt:numdotdecimal" name="appf:PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81OC9mcmFnOjYyZmQ2ZDQyZTNiNzRhOTFiZDhkYWU0ODRiMjJkMTE1L3RleHRyZWdpb246NjJmZDZkNDJlM2I3NGE5MWJkOGRhZTQ4NGIyMmQxMTVfMTE5OA_9d8a8861-f6bc-4484-9af7-0c881a46f231">2.7</ix:nonFraction> 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%">There have been no changes in the Company&#8217;s material legal proceedings during the three months ended June 30, 2021. </span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></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%"><ix:continuation id="id5c0962dc663495e9aeb414f2f956c93" continuedAt="i460e520f18d644899e66b077836eb946">Indemnification</ix:continuation></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%"><ix:continuation id="i460e520f18d644899e66b077836eb946">In the ordinary course of business, we may provide indemnification of varying scope and terms to customers, investors, directors and officers with respect to certain matters, including, but not limited to, losses arising out of our breach of any applicable agreements, services to be provided by us, or intellectual property infringement claims made by third parties. 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 never paid a material claim, nor have any legal claims been brought against us, in connection with these indemnification arrangements. As of June&#160;30, 2021 and December&#160;31, 2020, we have not accrued a liability for these indemnification arrangements because we determined that the likelihood of incurring a payment obligation, if any, in connection with these indemnification arrangements is not probable or reasonably possible and the amount or range of amounts of any such liability is not reasonably estimable.</ix:continuation> </span></div><div id="i33d2ee1a81324077be4958e6cee29b3d_61"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">10. <ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82MS9mcmFnOjQ4ZmY3ZDMzMmUxODQ2ZGM5ZWYwNGM4NGFkZjM2MTFlL3RleHRyZWdpb246NDhmZjdkMzMyZTE4NDZkYzllZjA0Yzg0YWRmMzYxMWVfMTE1MA_fa76466f-c9d9-406c-8d5d-0d2eb6a39de4" continuedAt="ic8d375df65e54306b93db88cdd30f646" escape="true">Share Repurchase Program </ix:nonNumeric></span></div><ix:continuation id="ic8d375df65e54306b93db88cdd30f646"><div style="margin-bottom:6pt;margin-top:6pt;text-align:justify;text-indent:36pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 20, 2019, our Board of Directors authorized a $<ix:nonFraction unitRef="usd" contextRef="i388b9a53d8fa44df8128bd1247847647_I20190220" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82MS9mcmFnOjQ4ZmY3ZDMzMmUxODQ2ZGM5ZWYwNGM4NGFkZjM2MTFlL3RleHRyZWdpb246NDhmZjdkMzMyZTE4NDZkYzllZjA0Yzg0YWRmMzYxMWVfOTM_3d608534-6b60-4991-b0f9-c41a76da2e1b">100.0</ix:nonFraction> million share repurchase program (the "Share Repurchase Program") relating to our outstanding shares of Class A common stock. Under the Share Repurchase Program, share repurchases may be made from time to time, as directed by a committee consisting of <ix:nonFraction unitRef="director" contextRef="i2a38e101cc82463e8b5f1c4dc7d24234_D20190220-20190220" decimals="INF" format="ixt-sec:numwordsen" name="appf:StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82MS9mcmFnOjQ4ZmY3ZDMzMmUxODQ2ZGM5ZWYwNGM4NGFkZjM2MTFlL3RleHRyZWdpb246NDhmZjdkMzMyZTE4NDZkYzllZjA0Yzg0YWRmMzYxMWVfMzQw_0f872934-ab35-4e1e-a08f-35ef8ecbf3d1">three</ix:nonFraction> directors, in open market purchases or privately negotiated transactions at a repurchase price that the members of the committee unanimously believe is below intrinsic value conservatively determined. The Share Repurchase Program does not obligate us to repurchase any specific dollar amount or number of shares, and there is no expiration date for the Share Repurchase Program, which</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> may be modified, suspended or terminated at any time and for any reason. </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%">During the three months ended March 31, 2020, we repurchased a total of <ix:nonFraction unitRef="shares" contextRef="ie12b07a296d44bc8bf5867ead97026a9_D20200101-20200331" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockSharesAcquired" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82MS9mcmFnOjQ4ZmY3ZDMzMmUxODQ2ZGM5ZWYwNGM4NGFkZjM2MTFlL3RleHRyZWdpb246NDhmZjdkMzMyZTE4NDZkYzllZjA0Yzg0YWRmMzYxMWVfODcx_8f298f21-d403-47dd-b970-e1ed0b751d1a">48,002</ix:nonFraction> shares of our Class A common stock through open market repurchases, and recorded a $<ix:nonFraction unitRef="usd" contextRef="ie12b07a296d44bc8bf5867ead97026a9_D20200101-20200331" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82MS9mcmFnOjQ4ZmY3ZDMzMmUxODQ2ZGM5ZWYwNGM4NGFkZjM2MTFlL3RleHRyZWdpb246NDhmZjdkMzMyZTE4NDZkYzllZjA0Yzg0YWRmMzYxMWVfOTU3_757342cb-56ca-43b4-acec-c426b13574df">4.2</ix:nonFraction> million reduction to stockholders' equity, which includes broker commissions. We have not made any repurchases under the Share Repurc</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">hase </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Program subsequent to the three months ended March 31, 2020.</span></div></ix:continuation><div id="i33d2ee1a81324077be4958e6cee29b3d_64"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">11. <ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNDk5NQ_39b1306d-e340-478f-8264-587f721be7ed" continuedAt="i82faa0f6cfaa4c46b5200a664fe88d0d" escape="true">Stock-Based Compensation</ix:nonNumeric></span></div><ix:continuation id="i82faa0f6cfaa4c46b5200a664fe88d0d" continuedAt="i80218c8dde9e42f3a8f8769b06facb2b"><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><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNTAwMw_33ef9a78-3552-405e-ae49-ef6210660cbf" escape="true"><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&#160;30, 2021, 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&#160;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&#160;per&#160;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&#160;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&#160;31, 2020</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%"><ix:nonFraction unitRef="shares" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjAyODMyYmNjYzY5MTRmNTZiNGQ2MmU4ODBmOTQ5YmY0L3RhYmxlcmFuZ2U6MDI4MzJiY2NjNjkxNGY1NmI0ZDYyZTg4MGY5NDliZjRfMS0yLTEtMS0w_f81ce562-335a-4816-8369-46f460532a6b">1,168</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usdPerShare" contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjAyODMyYmNjYzY5MTRmNTZiNGQ2MmU4ODBmOTQ5YmY0L3RhYmxlcmFuZ2U6MDI4MzJiY2NjNjkxNGY1NmI0ZDYyZTg4MGY5NDliZjRfMS00LTEtMS0w_7d4107ab-5e86-4bc3-8f1e-465f2616401e">11.77</ix:nonFraction>&#160;</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%"><ix:nonNumeric contextRef="ic8f14e2f98b742f58bdddb87910e20b8_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjAyODMyYmNjYzY5MTRmNTZiNGQ2MmU4ODBmOTQ5YmY0L3RhYmxlcmFuZ2U6MDI4MzJiY2NjNjkxNGY1NmI0ZDYyZTg4MGY5NDliZjRfMS02LTEtMS0w_381f43f8-9bfc-4032-b540-e553183f6fe8">5.0</ix:nonNumeric></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%"><ix:nonFraction unitRef="shares" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjAyODMyYmNjYzY5MTRmNTZiNGQ2MmU4ODBmOTQ5YmY0L3RhYmxlcmFuZ2U6MDI4MzJiY2NjNjkxNGY1NmI0ZDYyZTg4MGY5NDliZjRfMi0yLTEtMS0w_3bd17e7e-df32-467b-8354-b3e21a8267a6">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usdPerShare" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="2" format="ixt:zerodash" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjAyODMyYmNjYzY5MTRmNTZiNGQ2MmU4ODBmOTQ5YmY0L3RhYmxlcmFuZ2U6MDI4MzJiY2NjNjkxNGY1NmI0ZDYyZTg4MGY5NDliZjRfMi00LTEtMS0w_c6194364-098b-4198-8f17-dc7da825df17">&#8212;</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="shares" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjAyODMyYmNjYzY5MTRmNTZiNGQ2MmU4ODBmOTQ5YmY0L3RhYmxlcmFuZ2U6MDI4MzJiY2NjNjkxNGY1NmI0ZDYyZTg4MGY5NDliZjRfMy0yLTEtMS0w_34f5a0a7-a3cc-4b21-a657-9c3267783479">120</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usdPerShare" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="2" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjAyODMyYmNjYzY5MTRmNTZiNGQ2MmU4ODBmOTQ5YmY0L3RhYmxlcmFuZ2U6MDI4MzJiY2NjNjkxNGY1NmI0ZDYyZTg4MGY5NDliZjRfMy00LTEtMS0w_b3971968-900a-4ecf-aeb2-eb18171733a4">5.37</ix:nonFraction>&#160;</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="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 cancelled/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%"><ix:nonFraction unitRef="shares" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjAyODMyYmNjYzY5MTRmNTZiNGQ2MmU4ODBmOTQ5YmY0L3RhYmxlcmFuZ2U6MDI4MzJiY2NjNjkxNGY1NmI0ZDYyZTg4MGY5NDliZjRfNC0yLTEtMS0w_34a615a6-e621-4107-9b9e-416e4ea241a5">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usdPerShare" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="2" format="ixt:zerodash" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjAyODMyYmNjYzY5MTRmNTZiNGQ2MmU4ODBmOTQ5YmY0L3RhYmxlcmFuZ2U6MDI4MzJiY2NjNjkxNGY1NmI0ZDYyZTg4MGY5NDliZjRfNC00LTEtMS0w_c20b6bf5-c18b-4eb8-9be0-b80e97edc786">&#8212;</ix:nonFraction>&#160;</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 outstanding as of June 30, 2021</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%"><ix:nonFraction unitRef="shares" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjAyODMyYmNjYzY5MTRmNTZiNGQ2MmU4ODBmOTQ5YmY0L3RhYmxlcmFuZ2U6MDI4MzJiY2NjNjkxNGY1NmI0ZDYyZTg4MGY5NDliZjRfNS0yLTEtMS0w_53d08975-c729-424d-9092-e72333b52d86">1,048</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usdPerShare" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjAyODMyYmNjYzY5MTRmNTZiNGQ2MmU4ODBmOTQ5YmY0L3RhYmxlcmFuZ2U6MDI4MzJiY2NjNjkxNGY1NmI0ZDYyZTg4MGY5NDliZjRfNS00LTEtMS0w_57094370-2fd0-4ef0-b113-0d1c5b8d8347">12.50</ix:nonFraction>&#160;</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%"><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjAyODMyYmNjYzY5MTRmNTZiNGQ2MmU4ODBmOTQ5YmY0L3RhYmxlcmFuZ2U6MDI4MzJiY2NjNjkxNGY1NmI0ZDYyZTg4MGY5NDliZjRfNS02LTEtMS0w_1fe0166e-5527-427d-aa6f-21f5e8681de0">3.2</ix:nonNumeric></span></td></tr></table></div></ix:nonNumeric><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%">Our stock-based compensation expense for stock options for the three and six months ended June&#160;30, 2021 and 2020 was not material. </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 value of stock options is estimated on their date of grant using the Black-Scholes option-pricing model. <ix:nonFraction unitRef="shares" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNTI0_47798c20-7d84-4937-8b75-d047fd53ef0e"><ix:nonFraction unitRef="shares" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNTI0_780dcfb4-2fe2-4eed-ad4e-25a495c56011">No</ix:nonFraction></ix:nonFraction> stock options were granted during the six months ended June&#160;30, 2021 or 2020. </span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><ix:continuation id="i80218c8dde9e42f3a8f8769b06facb2b" continuedAt="icaf75293ea454e6291912c8ec3c50143"><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><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNTAwOA_0cc084f0-b32b-4329-9024-1c599969a5c5" escape="true"><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&#160;30, 2021, 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&#160;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&#160;Date Fair&#160;Value&#160;per&#160;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, 2020</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%"><ix:nonFraction unitRef="shares" contextRef="ifea9c8c7589a4777a3159cf7b213b956_I20201231" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOmM0ODM2ZjI2MjgwODQ1MjI4MDFhNzQyNTI5MzcyNzk0L3RhYmxlcmFuZ2U6YzQ4MzZmMjYyODA4NDUyMjgwMWE3NDI1MjkzNzI3OTRfMS0yLTEtMS0w_b4b6aaca-8f34-4d64-a2d6-321a1e6b95b3">483</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usdPerShare" contextRef="ifea9c8c7589a4777a3159cf7b213b956_I20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOmM0ODM2ZjI2MjgwODQ1MjI4MDFhNzQyNTI5MzcyNzk0L3RhYmxlcmFuZ2U6YzQ4MzZmMjYyODA4NDUyMjgwMWE3NDI1MjkzNzI3OTRfMS00LTEtMS0w_7297bf05-ac48-4b40-81d0-5b75b1a9ba4a">80.20</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="shares" contextRef="i3c25fe0841da49819791dd343a9c5659_D20210101-20210630" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOmM0ODM2ZjI2MjgwODQ1MjI4MDFhNzQyNTI5MzcyNzk0L3RhYmxlcmFuZ2U6YzQ4MzZmMjYyODA4NDUyMjgwMWE3NDI1MjkzNzI3OTRfMi0yLTEtMS0w_60eee8dd-697d-455c-9c8f-f41a79a3bcb2">194</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usdPerShare" contextRef="i3c25fe0841da49819791dd343a9c5659_D20210101-20210630" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOmM0ODM2ZjI2MjgwODQ1MjI4MDFhNzQyNTI5MzcyNzk0L3RhYmxlcmFuZ2U6YzQ4MzZmMjYyODA4NDUyMjgwMWE3NDI1MjkzNzI3OTRfMi00LTEtMS0w_fa947c85-446f-49e0-8d1d-9ca82d3c4853">140.30</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="shares" contextRef="i3c25fe0841da49819791dd343a9c5659_D20210101-20210630" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOmM0ODM2ZjI2MjgwODQ1MjI4MDFhNzQyNTI5MzcyNzk0L3RhYmxlcmFuZ2U6YzQ4MzZmMjYyODA4NDUyMjgwMWE3NDI1MjkzNzI3OTRfMy0yLTEtMS0w_ad5e9e6f-a3d4-4000-aa06-8644329f36d2">158</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usdPerShare" contextRef="i3c25fe0841da49819791dd343a9c5659_D20210101-20210630" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOmM0ODM2ZjI2MjgwODQ1MjI4MDFhNzQyNTI5MzcyNzk0L3RhYmxlcmFuZ2U6YzQ4MzZmMjYyODA4NDUyMjgwMWE3NDI1MjkzNzI3OTRfMy00LTEtMS0w_3182d564-f73e-42aa-9ad7-8a71a7d4b121">60.18</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="shares" contextRef="i3c25fe0841da49819791dd343a9c5659_D20210101-20210630" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOmM0ODM2ZjI2MjgwODQ1MjI4MDFhNzQyNTI5MzcyNzk0L3RhYmxlcmFuZ2U6YzQ4MzZmMjYyODA4NDUyMjgwMWE3NDI1MjkzNzI3OTRfNC0yLTEtMS0w_52971c02-2faa-4236-b6e1-aa6be6d0e6de">21</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usdPerShare" contextRef="i3c25fe0841da49819791dd343a9c5659_D20210101-20210630" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOmM0ODM2ZjI2MjgwODQ1MjI4MDFhNzQyNTI5MzcyNzk0L3RhYmxlcmFuZ2U6YzQ4MzZmMjYyODA4NDUyMjgwMWE3NDI1MjkzNzI3OTRfNC00LTEtMS0w_3df25db4-8848-4f41-b4ee-e42da230abdc">105.98</ix:nonFraction>&#160;</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, 2021</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%"><ix:nonFraction unitRef="shares" contextRef="if73f8d2ff84645ca8541f5301a92e2f2_I20210630" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOmM0ODM2ZjI2MjgwODQ1MjI4MDFhNzQyNTI5MzcyNzk0L3RhYmxlcmFuZ2U6YzQ4MzZmMjYyODA4NDUyMjgwMWE3NDI1MjkzNzI3OTRfNS0yLTEtMS0w_1c2e3319-95b1-45e5-8117-cda3f7e03b04">498</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usdPerShare" contextRef="if73f8d2ff84645ca8541f5301a92e2f2_I20210630" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOmM0ODM2ZjI2MjgwODQ1MjI4MDFhNzQyNTI5MzcyNzk0L3RhYmxlcmFuZ2U6YzQ4MzZmMjYyODA4NDUyMjgwMWE3NDI1MjkzNzI3OTRfNS00LTEtMS0w_b2b6bf34-ab94-4dc4-84bf-57e0228dca67">108.77</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><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&#160;30, 2021, we granted <ix:nonFraction unitRef="shares" contextRef="i699f3dc71634437eb8858caf1c82661a_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNzg0_719b5b8b-4750-4d9c-85e2-7edc95c02602">159,000</ix:nonFraction> RSUs that are subject to time-based vesting in equal annual installments over <ix:nonNumeric contextRef="i699f3dc71634437eb8858caf1c82661a_D20210101-20210630" format="ixt-sec:durwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfODY1_646a3246-f623-4b84-8842-bbaae10b6284">four years</ix:nonNumeric>, and <ix:nonFraction unitRef="shares" contextRef="i457f02cd2d914bf59c65570233da2b87_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfODcz_e278f005-344d-49e1-9d9c-38a4bb4662d6">35,000</ix:nonFraction> PSUs that are subject to vesting based on the achievement of pre-established consolidated net revenue growth targets for the years ending December 31, 2022 and 2023, assuming continued employment throughout the performance period. The number of PSUs granted, as included in the above table, assumes achievement of the performance metric at <ix:nonFraction unitRef="number" contextRef="i23007c4cafad4bd2a3f9b26ea8da879e_I20210630" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTIxNg_5ee74752-2e87-4254-bfca-83c826d10e98">100</ix:nonFraction>% of the performance target. The actual number of shares to be issued at the end of the performance period will range from <ix:nonFraction unitRef="number" contextRef="i83656486275448b3a66204f3c580163a_I20210630" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTM0MA_d1b5d858-f9f4-40d7-a9dc-b9f127d7c8c5">0</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="i2d6a97c0822c4e15ad128f75c59e825d_I20210630" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTM0Ng_10b0b271-be73-4487-bad1-26fb7232f8aa">100</ix:nonFraction>% of the initial target awards. Achievement of the performance metric between <ix:nonFraction unitRef="number" contextRef="ic91bd014da1d407eaca3332829384002_I20210630" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTQyNQ_09c67398-1b9d-40b8-aca5-006fb968b58a">100</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="ibbd0f41c03504a048be7fad795dadfda_I20210630" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTQzMg_33a2932e-d196-45ea-adb3-ae2d1f3e501e">150</ix:nonFraction>% of the performance target will result in a performance-based cash bonus payment between <ix:nonFraction unitRef="number" contextRef="i5ffc8f34903c4fe894858180fe4f3206_D20210101-20210630" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTUyMw_bf1b83e1-93cc-4dbc-97e4-68d65651ff6f">0</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="i6514751087c5466089453746d851060f_D20210101-20210630" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTUzMA_22843c93-ad19-447d-9138-86ac1cf5eade">65</ix:nonFraction>% of the initial target awards.  </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the six months ended June&#160;30, 2021, <ix:nonFraction unitRef="shares" contextRef="i457f02cd2d914bf59c65570233da2b87_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTU5Ng_6a5db194-430d-4329-92da-ca6f65d334c1">50,000</ix:nonFraction> PSUs vested based on the achievement of <ix:nonFraction unitRef="number" contextRef="ic83befabe7bf4f44af62652615e60b9b_I20201231" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTYzOQ_41cd8ca4-4d9e-4e1a-8776-a4d8e6b0de08">106</ix:nonFraction>% of the pre-established consolidated net revenue growth performance target for the year ended December 31, 2020 and additional performance-based cash bonuses equal to <ix:nonFraction unitRef="number" contextRef="i606f1774863e447e9211fb6f556eeb9b_D20200101-20201231" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTgwOA_bd0d632f-d935-4555-bf73-9d425eb89332">12</ix:nonFraction>% of the target value of such vested PSUs were also paid. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Included in the unvested RSUs as of June&#160;30, 2021 are <ix:nonFraction unitRef="shares" contextRef="i91064e19e59c4b3d820b48c855062288_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMjc0ODc3OTA3NzUwOQ_3fb65c60-c2c9-4632-93ec-8c9175902f39">34,000</ix:nonFraction>, <ix:nonFraction unitRef="shares" contextRef="i1c176b06ddb74554b4e6a488104f9a96_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTkxMQ_6cf6bf38-85fc-402e-9abb-af9c0a3e8fc0">12,000</ix:nonFraction>, <ix:nonFraction unitRef="shares" contextRef="ib7ca62402e6d41f6b03da693b045b5ae_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTkxNQ_b05b7a02-8831-4a73-bc4c-50c3e5128d25">31,000</ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="i1316c7b18e1640938330bef65bd7614e_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTkyMg_7d52a419-14cf-404e-b321-9f44a053a920">35,000</ix:nonFraction> PSUs granted in 2021, 2020, 2019 and 2018, respectively. Of these PSUs, <ix:nonFraction unitRef="shares" contextRef="i2d9ebfaac2e84921bc28d4fd332d5937_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTk5MQ_24fed4fb-e21f-4976-90cd-7245823f6e13">45,000</ix:nonFraction> are subject to vesting based on the achievement of a pre-established consolidated net revenue growth target for the year ending December 31, 2021, <ix:nonFraction unitRef="shares" contextRef="ibe541b3721574d48ba2d793240749d44_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMjE0NQ_67eb7674-af99-4b06-ad33-79bc7ca99f31">39,000</ix:nonFraction> are subject to vesting based on the achievement of a pre-established consolidated net revenue growth target for the year ending December 31, 2022, and <ix:nonFraction unitRef="shares" contextRef="id76e06168d524724ab555032a62fdbe0_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMjc0ODc3OTA3NzUxNw_3045fe55-66c6-4b32-ae22-4124748948b1">28,000</ix:nonFraction> are subject to vesting based on the achievement of a pre-established consolidated net revenue growth target for the year ending December 31, 2023. The number of PSUs granted assumes achievement of the performance metric at <ix:nonFraction unitRef="number" contextRef="ie0a9682aee9d41a2a0b86cf23739d3b2_I20210630" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMjM3MQ_b4e6a96c-50ac-4fbd-b645-ae79ac96e720">100</ix:nonFraction>% of the performance target. The actual number of shares to be issued at the end of the performance period will range from <ix:nonFraction unitRef="number" contextRef="i3b864c70c9d44f18bd49ccbae01e7a0a_I20210630" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMjQ5NQ_3a3995b0-e575-49be-a805-b5595e1f46fc">0</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="i3aed813ac95e4cf5b10ffb4678399a1e_I20210630" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMjUwMQ_c2e4a1f6-6ad2-45f0-b671-7bb8250821d8">100</ix:nonFraction>% of the initial target awards. Achievement of the performance metric between <ix:nonFraction unitRef="number" contextRef="i8a6e99e34a0d4f8e9ddd483b0e2fb356_I20210630" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMjU4MA_5464751b-e23b-4f95-b1f7-ad629d568ada">100</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="i25251dcb9bed427785f73e74782d9ba9_I20210630" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMjU4Nw_09a164c7-bc69-40f6-b9ec-37fb11ff5236">150</ix:nonFraction>% of the performance target will result in a performance-based cash bonus payment between <ix:nonFraction unitRef="number" contextRef="i1376ba33952141cabbc021cd6ef8653b_D20210101-20210630" decimals="INF" name="appf:ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMjY3OA_72cdece8-cc41-402d-b209-8e0aeff73a6e">0</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="ic1f50fce2ed546f2abc2a69a6027dc0e_D20210101-20210630" decimals="INF" name="appf:ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMjY4NQ_4e5df94a-402d-4078-962a-0ce57f7e9c82">65</ix:nonFraction>% of the initial target 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%">We recognize expense for PSUs based on the grant date fair value of the PSUs that we determine are probable of vesting. Adjustments to compensation expense are made each period based on changes in our estimate of the number of PSUs that are probable of vesting. Our stock-based compensation expense for RSUs and PSUs for the three months ended June&#160;30, 2021 and 2020 was</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> $<ix:nonFraction unitRef="usd" contextRef="i9cdfea096b5b4cdeaa07a77cdafe7b17_D20210401-20210630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMzA4NQ_af86cb3d-ed83-4a0d-bfbe-d49421994f00">3.7</ix:nonFraction> million a</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">nd $<ix:nonFraction unitRef="usd" contextRef="i0e5ec4fabfca4faf9653509aae963b7f_D20200401-20200630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMzA5Mg_c046ab85-7198-41f0-bdea-20f4dd0f6819">3.2</ix:nonFraction> million, respectively, and </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$<ix:nonFraction unitRef="usd" contextRef="i3c25fe0841da49819791dd343a9c5659_D20210101-20210630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTY0OTI2NzQ0Njc3OQ_1211adc2-2435-4090-b35a-c19d75bd4380">6.8</ix:nonFraction> million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and $<ix:nonFraction unitRef="usd" contextRef="i5fd43dec6fa644fb9846154e4e1a2403_D20200101-20200630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTY0OTI2NzQ0Njc4Mw_86dbfa84-98e0-44c6-a924-46de1dd7f458">4.4</ix:nonFraction> million for the six months ended June&#160;30, 2021 and 2020, 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-weight:400;line-height:120%">During the six months ended June&#160;30, 2021, we granted an award of <ix:nonFraction unitRef="shares" contextRef="i0b07d8eecfa44616b63e0e4a9bf7a0c7_D20210101-20210630" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMzE2NA_18423a56-38db-407e-8683-93ff5248c96c">7,688</ix:nonFraction> PSUs to an executive that vest based on achievement of certain pre-established individual performance metrics during fiscal year 2021, for which the achievement is approved on a pass/fail basis by the Board of Directors in its sole discretion after taking into account the recommendation of the President and Chief Executive Officer. The service inception date precedes the grant date for this award as (a) the award was authorized prior to establishing an accounting grant date, (b) the recipient began providing services prior to the grant date and (c) there are performance conditions that, if not met by the accounting grant date, will result in the forfeiture of the award. As the service inception date precedes the grant date, we recognize stock-based compensation expense on a straight-line basis over the requisite service period based on the fair value at each reporting date. Our stock-based compensation expense for this award for the six months ended June&#160;30, 2021 was</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> $<ix:nonFraction unitRef="usd" contextRef="i0b07d8eecfa44616b63e0e4a9bf7a0c7_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNDEzMw_1d824bf1-14f0-428f-b6f6-1e1dffd604a6">0.5</ix:nonFraction>&#160;million. </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&#160;30, 2021, the total estimated remaining stock-based compensation expense for the aforementioned RSUs and PSUs was </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$<ix:nonFraction unitRef="usd" contextRef="if73f8d2ff84645ca8541f5301a92e2f2_I20210630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNDIzNw_77e2938e-e9fa-4a22-badf-92a0c1278623">39.4</ix:nonFraction> million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, which is expected to be recognized over a weighted average period of</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> <ix:nonNumeric contextRef="i3c25fe0841da49819791dd343a9c5659_D20210101-20210630" format="ixt-sec:duryear" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNDMxMA_2d0d2b99-93a6-44ff-bc1e-51666eff86ed">2.6</ix:nonNumeric> years.</span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><ix:continuation id="icaf75293ea454e6291912c8ec3c50143"><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><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNDk5NA_7236703a-fd1d-4416-b293-aff42ee5f0b9" escape="true"><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 for the six months ended June&#160;30, 2021 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%">&#160;</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&#160;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&#160;Date<br/>Fair&#160;Value&#160;per&#160;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, 2020</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%"><ix:nonFraction unitRef="shares" contextRef="i5f49e86785c9487b9d0bc7db6eba2827_I20201231" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjVmNWYxODI4YjdkZjRjY2E5Yzc5N2VkZTI4MjFhYWI1L3RhYmxlcmFuZ2U6NWY1ZjE4MjhiN2RmNGNjYTljNzk3ZWRlMjgyMWFhYjVfMS0yLTEtMS0w_011f32cf-d938-4c9b-bcc2-6f5674c475fa">5</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usdPerShare" contextRef="i5f49e86785c9487b9d0bc7db6eba2827_I20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjVmNWYxODI4YjdkZjRjY2E5Yzc5N2VkZTI4MjFhYWI1L3RhYmxlcmFuZ2U6NWY1ZjE4MjhiN2RmNGNjYTljNzk3ZWRlMjgyMWFhYjVfMS00LTEtMS0w_acd2c53e-5ff3-4394-8f9d-972e8146aa94">153.41</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="shares" contextRef="ibc8cc1f06fac4621bdbc5ec636ea6da1_D20210101-20210630" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjVmNWYxODI4YjdkZjRjY2E5Yzc5N2VkZTI4MjFhYWI1L3RhYmxlcmFuZ2U6NWY1ZjE4MjhiN2RmNGNjYTljNzk3ZWRlMjgyMWFhYjVfMi0yLTEtMS0w_d91b228f-3bc6-41ae-a81e-c3209c96c976">4</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usdPerShare" contextRef="ibc8cc1f06fac4621bdbc5ec636ea6da1_D20210101-20210630" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjVmNWYxODI4YjdkZjRjY2E5Yzc5N2VkZTI4MjFhYWI1L3RhYmxlcmFuZ2U6NWY1ZjE4MjhiN2RmNGNjYTljNzk3ZWRlMjgyMWFhYjVfMi00LTEtMS0w_972137b7-8628-42b9-abd3-687b42a72356">144.33</ix:nonFraction>&#160;</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%">(<ix:nonFraction unitRef="shares" contextRef="ibc8cc1f06fac4621bdbc5ec636ea6da1_D20210101-20210630" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjVmNWYxODI4YjdkZjRjY2E5Yzc5N2VkZTI4MjFhYWI1L3RhYmxlcmFuZ2U6NWY1ZjE4MjhiN2RmNGNjYTljNzk3ZWRlMjgyMWFhYjVfMy0yLTEtMS0w_10700c4d-1a0b-42d7-955e-cce520232e49">3</ix:nonFraction>)</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%"><ix:nonFraction unitRef="usdPerShare" contextRef="ibc8cc1f06fac4621bdbc5ec636ea6da1_D20210101-20210630" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjVmNWYxODI4YjdkZjRjY2E5Yzc5N2VkZTI4MjFhYWI1L3RhYmxlcmFuZ2U6NWY1ZjE4MjhiN2RmNGNjYTljNzk3ZWRlMjgyMWFhYjVfMy00LTEtMS0w_1b6dce36-807b-4d5a-b476-e58ba810c5e7">160.34</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="shares" contextRef="ibc8cc1f06fac4621bdbc5ec636ea6da1_D20210101-20210630" decimals="-3" format="ixt:zerodash" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjVmNWYxODI4YjdkZjRjY2E5Yzc5N2VkZTI4MjFhYWI1L3RhYmxlcmFuZ2U6NWY1ZjE4MjhiN2RmNGNjYTljNzk3ZWRlMjgyMWFhYjVfNC0yLTEtMS0w_ceb666ef-8f43-421a-9b65-de482ca5f50c">&#8212;</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usdPerShare" contextRef="ibc8cc1f06fac4621bdbc5ec636ea6da1_D20210101-20210630" decimals="2" format="ixt:zerodash" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjVmNWYxODI4YjdkZjRjY2E5Yzc5N2VkZTI4MjFhYWI1L3RhYmxlcmFuZ2U6NWY1ZjE4MjhiN2RmNGNjYTljNzk3ZWRlMjgyMWFhYjVfNC00LTEtMS0w_3cba5140-dc8c-4cf0-ac1a-62ce5c476a2b">&#8212;</ix:nonFraction>&#160;</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, 2021</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%"><ix:nonFraction unitRef="shares" contextRef="i1fa786168841439a93c8c2e916577768_I20210630" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjVmNWYxODI4YjdkZjRjY2E5Yzc5N2VkZTI4MjFhYWI1L3RhYmxlcmFuZ2U6NWY1ZjE4MjhiN2RmNGNjYTljNzk3ZWRlMjgyMWFhYjVfNS0yLTEtMS0w_b8b52798-e982-424d-95b4-5d90b626416d">6</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usdPerShare" contextRef="i1fa786168841439a93c8c2e916577768_I20210630" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjVmNWYxODI4YjdkZjRjY2E5Yzc5N2VkZTI4MjFhYWI1L3RhYmxlcmFuZ2U6NWY1ZjE4MjhiN2RmNGNjYTljNzk3ZWRlMjgyMWFhYjVfNS00LTEtMS0w_6f51ef46-01e2-4921-86a6-65499ca8f2c7">143.74</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><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 restricted stock awards subject to certain conditions. Restricted stock awards vest over a <ix:nonNumeric contextRef="ibc8cc1f06fac4621bdbc5ec636ea6da1_D20210101-20210630" format="ixt-sec:durwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNTAxNg_5b63c890-7dc0-4ffb-81af-87ea54370305">one-year</ix:nonNumeric> period. We recognized stock-based compensation expense for restricted stock awards of </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$<ix:nonFraction unitRef="usd" contextRef="i9ea342cb717b486f9464c87038c11bfe_D20210401-20210630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNDcxNA_5fb5b5af-0b62-4536-b403-c36186b7739d">0.2</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i083be320e66b42978fe2513c9e065532_D20200401-20200630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNDcyMQ_b9c7359e-4aee-4550-8da3-94a3a83b0a78">0.2</ix:nonFraction> million for the three months ended June&#160;30, 2021 and 2020, respectively, and $<ix:nonFraction unitRef="usd" contextRef="ibc8cc1f06fac4621bdbc5ec636ea6da1_D20210101-20210630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTY0OTI2NzQ0NjgwNw_621a01cc-0a8c-43ce-a12c-e800f3876aba">0.3</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="ide895304836b4cb2ab577956c806111b_D20200101-20200630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTY0OTI2NzQ0NjgxNQ_a64e43fa-03c1-440a-825c-24911cacdf35">0.3</ix:nonFraction> million for </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the six months ended June&#160;30, 2021 and 2020, 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-weight:400;line-height:120%">As of June&#160;30, 2021, the total estimated remaining stock-based compensation expense for unvested restricted stock awards with a repurchase right was </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$<ix:nonFraction unitRef="usd" contextRef="i1fa786168841439a93c8c2e916577768_I20210630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNDkxNQ_7e721cb7-88af-4910-8b85-476513d87702">0.7</ix:nonFraction> million, which is expected to be recognized over a weighted average period of <ix:nonNumeric contextRef="ibc8cc1f06fac4621bdbc5ec636ea6da1_D20210101-20210630" format="ixt-sec:duryear" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNDk4OA_5208f0a2-c956-43be-a3ee-ee5c6c142a2c">0.9</ix:nonNumeric> years.</span></div></ix:continuation><div id="i33d2ee1a81324077be4958e6cee29b3d_67"></div><div style="margin-bottom:6pt;margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">12. <ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:IncomeTaxDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82Ny9mcmFnOjVhNWRkYTQ4NjU1ZjRjZjE4ZTIxYTJiZjY0Y2JkMGFjL3RleHRyZWdpb246NWE1ZGRhNDg2NTVmNGNmMThlMjFhMmJmNjRjYmQwYWNfODc4_513547fc-4665-4f42-b691-ecd204cddef3" continuedAt="ie2051de9fd2f406e84ff7dda7fca40aa" escape="true">Income Taxes</ix:nonNumeric></span></div><ix:continuation id="ie2051de9fd2f406e84ff7dda7fca40aa" continuedAt="id271a252419d414aaf5fc05057318cd7"><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 calculate our benefit from income taxes on a quarterly basis by applying an estimated annual effective tax rate to income from operations and by calculating the tax effect of discrete items recognized during the quarter. </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:115%">For the three and six months ended June&#160;30, 2021, we recorded an income tax benefit of $<ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-5" sign="-" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82Ny9mcmFnOjVhNWRkYTQ4NjU1ZjRjZjE4ZTIxYTJiZjY0Y2JkMGFjL3RleHRyZWdpb246NWE1ZGRhNDg2NTVmNGNmMThlMjFhMmJmNjRjYmQwYWNfMzM1_5bfc85eb-7414-4f10-9c0c-dbda7b40b5a8">0.3</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-5" sign="-" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82Ny9mcmFnOjVhNWRkYTQ4NjU1ZjRjZjE4ZTIxYTJiZjY0Y2JkMGFjL3RleHRyZWdpb246NWE1ZGRhNDg2NTVmNGNmMThlMjFhMmJmNjRjYmQwYWNfMTA5OTUxMTYyOTA4OA_b845a43e-2329-47a7-a1ec-65abb2fc2350">5.9</ix:nonFraction> million, respectively. The effective tax rate as compared to the U.S. federal statutory rate of 21% differs primarily due to the significance of the benefits associated with stock-based compensation expense and research and development tax credits in relation to the forecasted pre-tax results for the year. </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:115%">For the three and six months ended June&#160;30, 2020, we recorded income tax benefit of $<ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-5" sign="-" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82Ny9mcmFnOjVhNWRkYTQ4NjU1ZjRjZjE4ZTIxYTJiZjY0Y2JkMGFjL3RleHRyZWdpb246NWE1ZGRhNDg2NTVmNGNmMThlMjFhMmJmNjRjYmQwYWNfMTA5OTUxMTYyOTA3NA_4a0f54a1-4724-47bc-98d7-f351b1b79134">13.5</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-5" sign="-" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82Ny9mcmFnOjVhNWRkYTQ4NjU1ZjRjZjE4ZTIxYTJiZjY0Y2JkMGFjL3RleHRyZWdpb246NWE1ZGRhNDg2NTVmNGNmMThlMjFhMmJmNjRjYmQwYWNfMTA5OTUxMTYyOTA2NQ_744117aa-0bfb-47ba-a17d-70ff0702e424">13.1</ix:nonFraction> million, respectively. The effective tax rate as compared to the U.S. federal statutory rate of 21% differs primarily due to the significance of the benefits associated with stock-based compensation expense and research and development tax credits in relation to the forecasted pre-tax results for the year.</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&#160;30, 2021 and we do not expect to have any significant changes to unrecognized tax benefits through the end of the fiscal year.</span></div></ix:continuation><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%"><ix:continuation id="id271a252419d414aaf5fc05057318cd7">As of June 30, 2021, we have approximately $<ix:nonFraction unitRef="usd" contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82Ny9mcmFnOjVhNWRkYTQ4NjU1ZjRjZjE4ZTIxYTJiZjY0Y2JkMGFjL3RleHRyZWdpb246NWE1ZGRhNDg2NTVmNGNmMThlMjFhMmJmNjRjYmQwYWNfMjc0ODc3OTA3NDQxNQ_23eda228-63fb-49d1-a4a6-6622cadd700c">4.7</ix:nonFraction>&#160;million of net deferred tax assets. At this time, we consider it more likely than not that we will have sufficient taxable income in the future that will allow us to realize these deferred tax assets. However, it is possible that in certain jurisdictions some or all of our net operating loss carryforwards and research tax credits may expire unused if we are unable to sustain a certain level of future profitability in those jurisdictions, in which event a valuation allowance may be necessary to reduce our deferred tax assets.</ix:continuation> </span></div><div id="i33d2ee1a81324077be4958e6cee29b3d_70"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">13. <ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RleHRyZWdpb246NzZmZGM3OGZkZDViNDEwMTkzOTgwM2RhZjNjZWZlNjBfNDcx_24ac37ad-e41f-402b-8f98-a01531f51859" continuedAt="ia73925b880d1474d8cb23572290188a1" escape="true">Revenue and Other Information</ix:nonNumeric></span></div><ix:continuation id="ia73925b880d1474d8cb23572290188a1" continuedAt="i18c6191e66bd41b5a85e6cc48b36e124"><ix:nonNumeric contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" name="us-gaap:DisaggregationOfRevenueTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RleHRyZWdpb246NzZmZGM3OGZkZDViNDEwMTkzOTgwM2RhZjNjZWZlNjBfNDcz_6c36c293-c246-47bf-ba38-3d867bc4d876" escape="true"><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&#160;30, 2021 and 2020 (in thousands):</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</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%">&#160;</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%">&#160;</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%">2021</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%">2020</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%">2021</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%">2020</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%"><ix:nonFraction unitRef="usd" contextRef="ib29dfbc40149496bb48678d3d6aaed05_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfMi0yLTEtMS0w_157a8e5d-958f-4b58-971d-1bd8b542faf6">25,363</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i55cae2869a1b4c668533f888f18db521_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfMi00LTEtMS0w_4d271711-8611-4607-98d7-658b41d2355a">26,061</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="iba5125b1e5b44561bdf592a85b5b11f1_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfMi02LTEtMS0w_1a66607b-fb74-423d-bdaa-464d3cc13714">49,537</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i6a1c13f61b5c40eab67e9f0a65914e9c_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfMi04LTEtMS0w_7515f44c-1ea2-4fc4-9b57-bc2f768d7803">50,963</ix:nonFraction>&#160;</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+ 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%"><ix:nonFraction unitRef="usd" contextRef="i5c5daae44e0e4ef084495db2c88278fd_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfMy0yLTEtMS0w_dce27cf0-29b2-4522-88e3-096eb66aab00">60,447</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i003ee976ec8e49a3acc1bc3f86391e1a_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfMy00LTEtMS0w_f5851fa5-c8a2-401d-8f62-2f1d6116eecd">51,592</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="ib2af20f788064359bfc915ec0e6a712a_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfMy02LTEtMS0w_dab549c3-6965-4f30-b8aa-40387f00dbdf">111,957</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i807085b8a7d049dfbe3bf64f96d51d6f_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfMy04LTEtMS0w_a02778e6-b7f6-4e5b-9579-b41d7d873e63">95,730</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i4a660250c25148f694d3f8f14d0fc40e_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfNC0yLTEtMS0w_0a8a811d-21d6-4a20-9c25-4b006dfc1d44">3,230</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i365faf2b4c5746a1ad4487b3c4f6ec9c_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfNC00LTEtMS0w_921b1a85-6709-450a-a2aa-8e7eb1d9869d">3,390</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i4ab913e85b484589accbf624ed271341_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfNC02LTEtMS0w_d1f77260-463c-4033-aea3-1cc3a7e824c9">6,467</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="if54140991131407ca66d98ec040d6ce2_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfNC04LTEtMS0w_4eefb68a-ee47-45ae-9bec-f3faa71a8604">6,845</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfNS0yLTEtMS0w_5befe2e9-9324-4224-920d-28a4f5bad5a2">89,040</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfNS00LTEtMS0w_d1013a85-6720-4bfb-ace5-d6f616ef7fa8">81,043</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfNS02LTEtMS0w_5924fc98-b89b-4795-bfba-2d100fc5c7ca">167,961</ix:nonFraction>&#160;</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%"><ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfNS04LTEtMS0w_3eceae35-bb56-4ce0-84a0-d8a6f3f64203">153,538</ix:nonFraction>&#160;</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></ix:nonNumeric><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></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><ix:continuation id="i18c6191e66bd41b5a85e6cc48b36e124"><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%">During the six months ended June&#160;30, 2021 and 2020, we recognized $<ix:nonFraction unitRef="usd" contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RleHRyZWdpb246NzZmZGM3OGZkZDViNDEwMTkzOTgwM2RhZjNjZWZlNjBfMzUz_f5c93e95-3260-4ee9-bcde-65b9949dcab9">1.8</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RleHRyZWdpb246NzZmZGM3OGZkZDViNDEwMTkzOTgwM2RhZjNjZWZlNjBfMzYw_91cfc041-3280-4207-8fd8-ce63ac0f686c">3.5</ix:nonFraction> million of revenue, respectively, which were included in the deferred revenue balances as of December&#160;31, 2020 and 2019, respectively.</span></div></ix:continuation><div id="i33d2ee1a81324077be4958e6cee29b3d_76"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 2. Management's Discussion and Analysis of Financial Condition and Results of Operations </span></div><div><span><br/></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-style:italic;font-weight:400;line-height:120%">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, including those related to the anticipated impact on our business from, and our response to, the COVID-19 pandemic. 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 &#8220;Risk Factors&#8221; in this Quarterly Report and 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 "Cautionary Note Regarding Forward-Looking Statements" for additional information. </span></div><div id="i33d2ee1a81324077be4958e6cee29b3d_79"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Overview</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%">We provide innovative software, services and data analytics to the real estate industry. Our cloud-based solutions are used primarily by property managers, but also by numerous other constituencies in the property management business ecosystem. These other constituencies include property owners, rental prospects, tenants and service providers, whom we refer to collectively as "users". Although specific functionality varies by product, our core solutions are designed to enable our customers to digitally transform their businesses, address critical business operations and enable exceptional customer service. In addition to our core solutions, we offer an array of optional, but often business-critical, Value+ services that are designed to enhance, automate and streamline processes and workflows that are essential to our customers' businesses. Our Value+ services are generally available on an as-needed basis and enable our customers to adapt our offerings to their specific operational requirements. </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%">Our solutions and services are designed to be a system of record to automate essential business processes, a system of engagement to enhance business interactions between our customers and users and a system of intelligence to leverage data to predict and optimize business workflows in order to enable exceptional customer experiences and increase efficiency across our customers' businesses. Our mobile-optimized software solutions are designed for use across multiple devices and operating systems. Our software solutions are offered as a service, are hosted using a modern cloud-based architecture, and, in part, use artificial intelligence technologies. This architecture leads to rich data sets that have a consistent schema across our customer and user base and enables us to deploy data-powered products and services for our customers and users. </span></div><div style="margin-bottom:6pt;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%">In 2008, we introduced APM, a property management solution designed to address the unique operational and business requirements of property management companies and their business ecosystems. Recognizing that our customers and their business ecosystems would benefit from additional business critical services, we launched a series of Value+ services beginning in 2009. Our Value+ services are tailored to the specific workflows of property management businesses and generally fall into the categories of marketing and leasing, electronic payment services, business optimization and risk mitigation. In 2018, we introduced APM PLUS, a tier of APM designed for larger businesses with more complex needs. APM PLUS builds upon the functionality of APM and additionally offers data analytics, configurable workflows, and revenue management and optimization functionality for our customers. In April 2019, we launched AppFolio Investment Management, which is designed to enable real estate investment managers to better manage their investor relationships by increasing transparency and streamlining certain business processes. We do not separately break out customer information between APM, APM PLUS and AppFolio Investment Management at this time.</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%">APM and APM PLUS serve our property management customers, including third-party property managers and owner operators, who typically manage single- and multi-family residential properties, and others who manage community association, and commercial properties. Our solutions and services also serve other constituencies in the property management market, including property owners, rental prospects, tenants and service providers. Revenue generated from each customer varies based on the type of property, the number of units under management, and the level of adoption and utilization of Value+ services by the customer and users. Revenue per unit generated from each customer typically varies based on the type of property and the level of adoption and utilization of Value+ services by the customer and users. For example, revenue generated per community association unit, which represent a growing percentage of our overall units, is lower than revenue generated per residential unit given the unique and complex needs of the residential rental lifecycle and resulting impact on the adoption and utilization of V+ services.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></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%">Property management customer count and property management units under management are presented in the table below. We define property management customers as those paying for a subscription to our core solutions.</span></div><div style="margin-top:10pt;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:27.847%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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.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.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.018%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="36" 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%">Quarter Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></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="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;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%">June 30,</span></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;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%">March 31,</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%">December 31,</span></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;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%">September 30,</span></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;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%">June 30,</span></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;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%">March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="12" style="border-top:1pt solid #000;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%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000;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%">2020</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%">Property manager customers</span></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="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;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%">16,532&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;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%">16,178&#160;</span></td><td style="background-color:#cceeff;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="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%">15,724&#160;</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;border-top:1pt solid #000000;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%">15,352&#160;</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;border-top:1pt solid #000000;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%">15,011&#160;</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;border-top:1pt solid #000000;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%">14,729&#160;</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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property manager units under management (in millions)</span></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="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.82&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.62&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.36&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.12&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.94&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.80&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr></table></div><div style="text-align:justify"><span><br/></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%">To date, we have experienced rapid revenue growth due to strong relationships with our customers, as well as our investments in research and product development, sales and marketing, customer service and support, and infrastructure. We have invested, and intend to continue to invest, in our business to capitalize on our market opportunity by working closely with our customers, prospects, partners and other industry participants to inform our product strategy. Over the long-term, these investments are expected to continue to increase our costs and operating expenses on an absolute basis. Many of these investments will occur in advance of our realization of revenue or any other benefit, which will make it difficult to determine if we are allocating our resources effectively and efficiently. We expect our operating margins will improve over the long-term, but this trend may be interrupted from time to time as a result of accelerated investment opportunities occurring in advance of realization of revenue.</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%">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 environment to motivate and develop our valuable human capital. Beginning in March 2020, in an effort to protect our employees and comply with applicable government orders, we transitioned our employees to a remote work environment and restricted non-essential employee travel. Our workforce has continued to effectively develop and support our software and services offerings notwithstanding the current environment. We expect to slowly transition employees back to the workplace and resume employee travel throughout 2021; however, employees will have the option to work remotely for the remainder of the year. If the COVID-19 pandemic once again requires full remote working conditions or otherwise slows our return to the workplace, it could have an adverse impact on the productivity of our employees as they navigate the challenges of daily life during a pandemic, which would harm our business and impede our ability to achieve our strategic objectives. We take the health and welfare of our people very seriously. We have encouraged, and will continue to encourage, safe practices designed to stem the infection and spread of COVID-19 within our workforce and beyond and to maintain the mental health and well-being of our employees. While the COVID-19 pandemic may have long-term effects on the nature of the office environment and remote working, which may present operational and workplace culture challenges that may adversely affect our business, we are committed to our employees returning to the workplace in the long-term. We recently constructed a new office space in Santa Barbara, California, extended the lease for our office in Richardson, Texas and leased new office space in San Diego, California.</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%">During the six months ended June&#160;30, 2020, we also provided software solutions and services to the legal industry via MyCase, a software solution primarily designed for small and mid-sized law firms. As previously disclosed, we completed our divestiture of MyCase, Inc. on September 30, 2020 (the "MyCase Transaction"). In connection with the MyCase Transaction, our credit facility was terminated and all obligations outstanding under our term and revolving loans, including all guarantees and security interests granted with respect to such obligations, were satisfied in full with proceeds from the sale and extinguished. For additional details, see Note 3, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Divestitures </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">of our Condensed Consolidated Financial Statements in this Quarterly Report.</span></div><div id="i33d2ee1a81324077be4958e6cee29b3d_82"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Key Components of Results of Operations</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%">Revenue</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%">Our core solutions and certain of our Value+ services are offered on a subscription basis. Our core solutions subscription fees vary by property type and are designed to scale to the size of our customers&#8217; businesses. We recognize revenue for subscription-based services over time on a straight-line basis over the contract term beginning on the date that our service is made available. We generally invoice monthly or annually in advance of the subscription period. </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 also offer Value+ services, which are not covered by our subscription fees, on a per use basis. Usage-based fees are charged on a flat fee per transaction basis with no minimum usage commitments. We recognize revenue for usage-based services in the period the service is rendered. 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+ services revenue comes directly and indirectly from the use of our electronic payment services, tenant screening services, and insurance services. Usage-based fees are paid either by customers or by users. </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></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 charge our customers for on-boarding assistance to our core solutions and certain other non-reoccurring services. We generally invoice for these other services in advance of the services being completed and recognize revenue upon completion of the related service. We generate revenue from the standalone customers of previously acquired businesses such as WegoWise and Dynasty, by providing services outside of our property management core solution platform. Revenue derived from these services is recorded in Other revenue. </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%">Costs and Operating Expenses</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:400;line-height:120%">Cost of Revenue. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Many of our Value+ services are facilitated by third-party service providers. Cost of revenue includes the fees paid to these third-party service providers (including legal fees and costs associated with the delivery and provision of those services, as well as loss reserves and other costs associated with our legal liability to landlord insurance services), which vary both in cost and as a percent of revenue for each Value+ service offering, 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), payment processing fees and allocated shared costs. Cost of revenue excludes depreciation of property and equipment, and amortization of capitalized software development costs and intangible assets.</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:400;line-height:120%">Sales and Marketing. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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. Sales commissions and other incremental costs to acquire customers and grow adoption and utilization of our Value+ services by our new and existing customers are deferred and then amortized on a straight-line basis over a period of benefit, which we have determined to be three years. 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. </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%">Research and Product Development. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and product development expense consists of personnel-related costs for our employees focused on research and product development</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;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%">(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 enhancing functionality and the ease of use of our existing software solutions by adding new core functionality, Value+ services and other improvements, as well as developing new products and services for new and existing markets. We capitalize our software development costs which meet the criteria for capitalization. Amortization of capitalized software development costs is included in depreciation and amortization expense.</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%">General and Administrative. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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, a majority of total 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, tax, and consulting services), transaction costs related to business combinations and divestitures, regulatory fines and penalties, other corporate expenses, and allocated shared 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-style:italic;font-weight:400;line-height:120%">Depreciation and Amortization. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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. </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:400;line-height:120%">Other Income (Loss), Net. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other income (loss), net includes gains and losses associated with the sale of property, equipment and investment securities, as well as income from certain post-closing transition services to be provided by us to MyCase in connection with the MyCase Transaction. </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:400;line-height:120%">Interest Income (Expense), Net. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Interest expense includes interest paid on any outstanding borrowings. Interest income 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 notes receivable and on cash deposited in our bank accounts. </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:400;line-height:120%">Benefit from Income Taxes. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Benefit from income taxes consists of federal and state income taxes in the United States.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24</span></div></div></div><div id="i33d2ee1a81324077be4958e6cee29b3d_85"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Results of Operations</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 sets forth our results of operations for the periods presented in dollars (in thousands) and as a percentage of revenue:</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:32.233%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.802%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.227%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.802%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.227%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.377%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.227%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.374%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.377%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.374%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.090%"></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:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="21" style="border-bottom: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%">Three Months Ended<br/>June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-bottom: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%">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:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" 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%">2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" 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%">2020</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" 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%">2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" 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%">2020</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:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">Amount</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%">%</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%">Amount</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%">%</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%">Amount</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%">%</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%">Amount</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%">%</span></td></tr><tr><td colspan="6" 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%">Consolidated Statements of Operations Data:</span></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="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="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="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="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%">Revenue</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%">89,040&#160;</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%">100.0&#160;</span></td><td style="background-color:#ffffff;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><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%">81,043&#160;</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%">100.0&#160;</span></td><td style="background-color:#ffffff;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><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%">167,961&#160;</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%">100.0&#160;</span></td><td style="background-color:#ffffff;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><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%">153,538&#160;</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%">100.0&#160;</span></td><td style="background-color:#ffffff;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:#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%">Costs and operating expenses:</span></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><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><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><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"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenue (exclusive of depreciation and amortization) </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:#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%">32,819&#160;</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%">36.9&#160;</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%">27,411&#160;</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%">33.8&#160;</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%">66,117&#160;</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%">39.4&#160;</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%">56,372&#160;</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%">36.7&#160;</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 style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing </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%">17,714&#160;</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%">19.9&#160;</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%">13,717&#160;</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%">16.9&#160;</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%">33,893&#160;</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%">20.2&#160;</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%">28,223&#160;</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%">18.4&#160;</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"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and product development </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:#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%">15,506&#160;</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.4&#160;</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%">12,128&#160;</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%">15.0&#160;</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%">29,889&#160;</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.8&#160;</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%">23,340&#160;</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%">15.2&#160;</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 style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">General and administrative </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%">14,206&#160;</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%">16.0&#160;</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%">14,785&#160;</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%">18.2&#160;</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%">27,567&#160;</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%">16.4&#160;</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%">23,357&#160;</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%">15.2&#160;</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 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Depreciation and amortization</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%">7,649&#160;</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.6&#160;</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,657&#160;</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.2&#160;</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%">15,018&#160;</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.9&#160;</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,071&#160;</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.5&#160;</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 37pt;text-align: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 costs and operating expenses</span></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%">87,894&#160;</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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98.7&#160;</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;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%">74,698&#160;</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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">92.2&#160;</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;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%">172,484&#160;</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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">102.7&#160;</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;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%">144,363&#160;</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;padding:2px 0 2px 1pt;text-align: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.0&#160;</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%">Income (loss) from operations</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%">1,146&#160;</span></td><td style="background-color:#ffffff;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="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.3&#160;</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;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,345&#160;</span></td><td style="background-color:#ffffff;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="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.8&#160;</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;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%">(4,523)</span></td><td style="background-color:#ffffff;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="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.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;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%">9,175&#160;</span></td><td style="background-color:#ffffff;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="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.0&#160;</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%">Other income (loss), net</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%">496&#160;</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%">0.6&#160;</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%">(10)</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%">&#8212;&#160;</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,058&#160;</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%">0.6&#160;</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%">12&#160;</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%">&#8212;&#160;</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%">Interest income (expense), net</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%">55&#160;</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%">0.1&#160;</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%">(562)</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%">(0.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%">108&#160;</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%">0.1&#160;</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,056)</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%">(0.7)</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%">Income (loss) before benefit from income taxes</span></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,697&#160;</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;padding:2px 0 2px 1pt;text-align: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.9&#160;</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;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%">5,773&#160;</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;padding:2px 0 2px 1pt;text-align: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.1&#160;</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;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%">(3,357)</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;padding:2px 0 2px 1pt;text-align: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.0)</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;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%">8,131&#160;</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;padding:2px 0 2px 1pt;text-align: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.3&#160;</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%">Benefit from income taxes</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%">(324)</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%">(0.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%">(13,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%">(16.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%">(5,857)</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%">(3.5)</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,109)</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.5)</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%">Net income</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%">2,021&#160;</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;padding:2px 0 2px 1pt;text-align: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.3&#160;</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><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%">19,257&#160;</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;padding:2px 0 2px 1pt;text-align: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.8&#160;</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><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%">2,500&#160;</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;padding:2px 0 2px 1pt;text-align: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.5&#160;</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><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%">21,240&#160;</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;padding:2px 0 2px 1pt;text-align: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.8&#160;</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></table></div><div><span><br/></span></div><div><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%"> Includes stock-based compensation expense 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:59.244%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.095%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.095%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.095%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.099%"></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="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: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%">2021</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%">2020</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%">2021</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%">2020</span></td></tr><tr><td colspan="6" 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%">Stock-based compensation expense included in costs and operating expenses:</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="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="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%">Cost of revenue (exclusive of depreciation and amortization)</span></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%">463&#160;</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%">520&#160;</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%">934&#160;</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%">646&#160;</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%">Sales and marketing</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%">447&#160;</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%">477&#160;</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%">849&#160;</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%">702&#160;</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%">Research and product development</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,214&#160;</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%">580&#160;</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,071&#160;</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%">874&#160;</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%">General and administrative</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%">1,090&#160;</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,176&#160;</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%">2,136&#160;</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,490&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="6" 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 stock-based compensation expense</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%">3,214&#160;</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,753&#160;</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%">5,990&#160;</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%">3,712&#160;</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><span><br/></span></div><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25</span></div></div></div><div id="i33d2ee1a81324077be4958e6cee29b3d_88"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Comparison of the Three and Six Months Ended June&#160;30, 2021 and 2020 </span></div><div style="margin-top:3pt;text-align:justify;text-indent:36pt"><span><br/></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-style:italic;font-weight:700;line-height:120%">Revenue</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:23.461%"></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:7.818%"></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:7.818%"></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:7.818%"></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:7.818%"></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:7.818%"></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:7.818%"></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:7.525%"></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:5.780%"></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%">&#160;</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%">Change</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><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%">Change</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%">&#160;</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%">2021</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">2020</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">Amount</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">%</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">2021</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">2020</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">Amount</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">%</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%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="45" 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%">(dollars in thousands)</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;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%">25,363&#160;</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%">26,061&#160;</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%">(698)</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)</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><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%">49,537&#160;</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%">50,963&#160;</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%">(1,426)</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)</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%">Value+ 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%">60,447&#160;</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%">51,592&#160;</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,855&#160;</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&#160;</span></td><td style="background-color:#ffffff;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><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%">111,957&#160;</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%">95,730&#160;</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%">16,227&#160;</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&#160;</span></td><td style="background-color:#ffffff;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:#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%">3,230&#160;</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,390&#160;</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%">(160)</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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</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,467&#160;</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,845&#160;</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%">(378)</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)</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%">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%">89,040&#160;</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%">81,043&#160;</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%">7,997&#160;</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="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&#160;</span></td><td style="background-color:#ffffff;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><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%">167,961&#160;</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%">153,538&#160;</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%">14,423&#160;</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="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%">9&#160;</span></td><td style="background-color:#ffffff;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></table></div><div><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%">Revenue derived from our software and solutions offered to the real estate vertical for the three months ended June&#160;30, 2021 and 2020, was $89.0 million and $72.8 million, respectively, an increase of $16.2 million, or 22%. This increase was primarily attributable to the growth in the number of property management customers and units under management utilizing our software and services. The remaining revenue in 2020 was attributed to our legacy legal vertical. Revenue derived from our software and solutions offered to the real estate vertical for the six months ended June&#160;30, 2021 and 2020, was $168.0 million and $137.7 million, respectively, an increase of $30.3 million, or 22%. This increase was primarily attributable to the growth in the number of property management customers and units under management utilizing our software and services. The remaining revenue in 2020 was attributed to our legacy legal vertical. </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%">Core solutions revenue derived from our real estate vertical for the three months ended June&#160;30, 2021 and 2020 was $25.4 million and $21.2 million, respectively, an increase of $4.2 million or 20%. Core solutions revenue derived from our real estate vertical for the six months ended June&#160;30, 2021 and 2020 was $49.5 million and $41.7 million, respectively, an increase of $7.8 million or 19%.</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%">Value+ services revenue derived from our real estate vertical for the three months ended June&#160;30, 2021 and 2020 was $60.4 million and $48.2 million, respectively, an increase of $12.2&#160;million or 25%. Value+ services revenue derived from our real estate vertical for the six months ended June&#160;30, 2021 and 2020 was $112.0 million and $89.1 million, respectively, an increase of $22.9&#160;million or 26%. These increases in core solutions and Value+ services revenue for the three and six months ended June&#160;30, 2021 and 2020 were mainly attributable to growth in our base of property management customers and growth in users of our subscription and usage-based services. During the three and six month periods we experienced growth of 17% and 17%, respectively, in the average number of property management units under management resulting from 10%&#160;and 10%, respectively, growth in the average number of property management customers during the periods.</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%">Our electronic payment services experienced increased demand during the comparative periods as residents, property managers, owners and customers transacted more business online. Our tenant screening and insurance services usage also increased during the comparative periods in line with the increase in units under management. A significant majority of our Value+ services revenue comes directly and indirectly from the use of our electronic payment services, tenant screening services, and the insurance services we make available to customers.</span></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-style:italic;font-weight:700;line-height:120%">Cost of Revenue (Exclusive of Depreciation and Amortization)</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:25.800%"></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:8.987%"></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:8.987%"></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:7.525%"></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:4.309%"></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:8.987%"></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:8.987%"></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:7.525%"></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:4.321%"></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%">&#160;</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%">Change</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><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%">Change</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%">&#160;</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%">2021</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">2020</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">Amount</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">%</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">2021</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">2020</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">Amount</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">%</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%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="45" 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%">(dollars in thousands)</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%">Cost of revenue (exclusive of depreciation and amortization)</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%">32,819&#160;</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%">27,411&#160;</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%">5,408&#160;</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%">20&#160;</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><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%">66,117&#160;</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%">56,372&#160;</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%">9,745&#160;</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&#160;</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:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Percentage of revenue</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%">36.9&#160;</span></td><td style="background-color:#ffffff;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><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%">33.8&#160;</span></td><td style="background-color:#ffffff;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><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="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%">39.4&#160;</span></td><td style="background-color:#ffffff;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><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%">36.7&#160;</span></td><td style="background-color:#ffffff;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><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></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%">Cost of revenue (exclusive of depreciation and amortization) related to our software and solutions offered to the real estate vertical for the three months ended June&#160;30, 2021 and 2020 was $32.8&#160;million and $24.5 million, respectively, an increase of $8.3 million, or 34%. This increase was primarily attributable to increased costs associated with servicing the incremental $16.2&#160;million in revenue over the same period. The remaining cost of revenue was attributed to our legacy legal vertical and such costs for 2021 were reimbursed through our ongoing Transition Services Agreement and recorded 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 income (loss), net</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></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%">For the three months ended June&#160;30, 2021 and 2020, expenditures to third-party service providers related to the delivery of our Value+ services to the real estate vertical increased $5.6 million, which was directly associated with the increased adoption and utilization of our Value+ services, as evidenced by the $12.2&#160;million increase in Value+ services revenue to the real estate vertical. Personnel-related costs, including performance-based compensation, necessary to support growth and key investments, increased $2.0 million. Allocated shared and other costs increased by $0.8 million primarily driven by increases in software, payment processing and other costs incurred in support of our overall growth.   </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%">Cost of revenue (exclusive of depreciation and amortization) related to our software and solutions offered to the real estate vertical for the six months ended June&#160;30, 2021 and 2020 was $65.9&#160;million and $50.6 million, respectively, an increase of $15.3 million, or 30%. This increase was primarily attributable to increased costs associated with servicing the incremental $30.3&#160;million in revenue over the same period. The remaining cost of revenue was attributed to our legacy legal vertical and such costs for 2021 were reimbursed through our ongoing Transition Services Agreement and recorded 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 income (loss), net</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</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%">For the six months ended June&#160;30, 2021 and 2020, expenditures to third-party service providers related to the delivery of our Value+ services to the real estate vertical increased $9.4 million, which was directly associated with the increased adoption and utilization of our Value+ services, as evidenced by the $22.9&#160;million increase in Value+ services revenue to the real estate vertical. Personnel-related costs, including performance-based compensation, necessary to support growth and key investments, increased $4.9 million. Allocated shared and other costs increased by $1.0 million primarily driven by a $1.4 million increase in software, payment processing and other costs incurred in support of our overall growth, partially offset by a $0.4 million reduction of expenses attributed to a decrease in workplace-related and other expenditures in response to the impact of the COVID-19 pandemic.</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 a percentage of revenue, cost of revenue (exclusive of depreciation and amortization) fluctuates primarily based on the mix of Value+ services revenue in the period, given the varying percentage of revenue we pay to third-party service providers, and investments made in advance of expected revenue generation.&#160;For the three months ended June&#160;30, 2021, cost of revenue (exclusive of depreciation and amortization), as a percentage of revenue, increased to&#160;36.8%&#160;from&#160;33.6% for the three months ended June&#160;30, 2020, and increased to 39.3%&#160;from&#160;36.8% for the six months ended June&#160;30, 2021 compared to the six months ended June&#160;30, 2020. These increases in cost as a percentage of revenue were primarily driven by the mix of Value+ services revenue with varying underlying third-party costs.</span></div><div style="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%">Sales and Marketing</span></div><div style="margin-top:10pt;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:25.800%"></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:8.987%"></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:8.987%"></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:7.525%"></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:4.309%"></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:8.987%"></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:8.987%"></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:7.525%"></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:4.321%"></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%">&#160;</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%">Change</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><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%">Change</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%">&#160;</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%">2021</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">2020</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">Amount</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">%</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">2021</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">2020</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">Amount</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">%</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%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="45" 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%">(dollars in thousands)</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%">Sales and marketing</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%">17,714&#160;</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%">13,717&#160;</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,997&#160;</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%">29&#160;</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><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%">33,893&#160;</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%">28,223&#160;</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%">5,670&#160;</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%">20&#160;</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:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Percentage of revenue</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%">19.9&#160;</span></td><td style="background-color:#ffffff;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><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%">16.9&#160;</span></td><td style="background-color:#ffffff;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><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="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%">20.2&#160;</span></td><td style="background-color:#ffffff;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><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%">18.4&#160;</span></td><td style="background-color:#ffffff;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><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></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%">Sales and marketing expense related to our software and solutions offered to the real estate vertical for the three months ended June&#160;30, 2021 and 2020 was $17.7&#160;million and $11.9 million, respectively, an increase of $5.8 million, or 49%. This increase was primarily due to a $2.2 million increase in personnel-related costs, including performance-based compensation, necessary to support growth and key investments in the business. Advertising and promotion costs increased by $3.0 million due in part from lower spending in 2020 from the cancellation or postponement of in person events and the reduction of online marketing spend as well as increased advertising and promotion spending in 2021 to support the growth and key investments in the business in 2021 and beyond. In addition, there was an increase in allocated shared and other costs of $0.6 million primarily driven by increases in software and other costs incurred in support of our overall growth. The remaining sales and marketing expense was attributed to our legacy legal vertical and such costs for 2021 were reimbursed through our ongoing Transition Services Agreement and recorded 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 income (loss), net</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</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%">Sales and marketing expense related to our software and solutions offered to the real estate vertical for the six months ended June&#160;30, 2021 and 2020 was $33.8&#160;million and $24.3 million, respectively, an increase of $9.5 million, or 39%. This increase was primarily due to a $4.9 million increase in personnel-related costs, including performance-based compensation, necessary to support growth and key investments in the business. Advertising and promotion costs increased by $4.3 million due in part to lower spending in 2020 due to the cancellation or postponement of in person events and the reduction of online marketing spend as well as increased advertising and promotion spending in 2021 to support the growth and key investments in the business in 2021 and beyond. In addition, there was an increase in allocated shared and other costs of $0.7 million primarily related to software, offset by a $0.4 million decrease in costs due to the elimination of event-related travel and the reduction of workplace-related and other non-essential expenditures in response to the impact of the COVID-19 pandemic. The remaining </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="margin-bottom:6pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">sales and marketing expense was attributed to our legacy legal vertical and such costs for 2021 were reimbursed through our ongoing Transition Services Agreement and recorded 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 income (loss), net</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</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 a percentage of revenue, sales and marketing expense increased to&#160;19.9%&#160;from&#160;16.3%&#160;for the three months ended June&#160;30, 2021 compared to the three months ended June&#160;30, 2020 and increased to 20.1% from 17.6% for the six months ended June&#160;30, 2021 compared to the six months ended June&#160;30, 2020. The increase for the three months ended June&#160;30, 2021 compared to the three months ended June&#160;30, 2020 was due in part to lower advertising and promotion costs in 2020 as a result of fewer events and lower online marketing spend as well as increased spend in 2021 to support the growth of the business. The increase for the six months ended  June&#160;30, 2021 compared to the six months ended June&#160;30, 2020 was due to in part to lower advertising and promotion costs in 2020 as a result of fewer events and lower online marketing spend as well as increased spend in 2021 to support the growth of the business.</span></div><div style="margin-top:12pt;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%">Research and Product Development</span></div><div style="margin-top:10pt;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:25.800%"></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:8.987%"></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:8.987%"></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:7.525%"></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:4.309%"></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:8.987%"></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:8.987%"></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:7.525%"></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:4.321%"></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%">&#160;</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%">Change</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><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%">Change</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%">&#160;</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%">2021</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">2020</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">Amount</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">%</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">2021</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">2020</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">Amount</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">%</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%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="45" 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%">(dollars in thousands)</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%">Research and product development</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%">15,506&#160;</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%">12,128&#160;</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,378&#160;</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%">28&#160;</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><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%">29,889&#160;</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%">23,340&#160;</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%">6,549&#160;</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%">28&#160;</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:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Percentage of revenue</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%">17.4&#160;</span></td><td style="background-color:#ffffff;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><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%">15.0&#160;</span></td><td style="background-color:#ffffff;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><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="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.8&#160;</span></td><td style="background-color:#ffffff;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><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%">15.2&#160;</span></td><td style="background-color:#ffffff;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><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></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%">Research and product development expense related to our software and solutions offered to the real estate vertical for the three months ended June&#160;30, 2021 and 2020 was $15.5&#160;million and $10.7 million, respectively, an increase of $4.8 million, or 45%. This increase was the result of an increase in personnel-related costs, including performance based compensation, net of capitalized software development costs, of $4.5 million due to investments in headcount growth within our research and product development organization. Allocated shared and other costs increased by $0.3 million primarily related to software and other costs to support our overall growth. The remaining research and development expense was attributed to our legacy legal vertical and such costs for 2021 were reimbursed through our ongoing Transition Services Agreement and recorded 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 income (loss), net</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</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%">Research and product development expense related to our software and solutions offered to the real estate vertical for the six months ended June&#160;30, 2021 and 2020 was $29.8&#160;million and $20.6 million, respectively, an increase of $9.2 million, or 45%. This increase was the result of an increase in personnel-related costs, including performance based compensation, net of capitalized software development costs, of $9.2 million due to investments in headcount growth within our research and product development organization. Allocated shared and other costs increased $0.3 million primarily related to software costs, and were offset by a $0.3 million reduction of workplace-related and other non-essential expenditures in response to the impact of the COVID-19 pandemic. The remaining research and development expense was attributed to our legacy legal vertical and such costs for 2021 were reimbursed through our ongoing Transition Services Agreement and recorded 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 income (loss), net</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="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%">General and Administrative</span></div><div style="margin-top:10pt;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:25.800%"></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:8.987%"></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:8.987%"></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:7.525%"></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:4.309%"></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:8.987%"></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:8.987%"></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:7.525%"></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:4.321%"></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%">&#160;</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%">Change</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><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%">Change</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%">&#160;</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%">2021</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">2020</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">Amount</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">%</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">2021</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">2020</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">Amount</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">%</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%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="45" 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%">(dollars in thousands)</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%">General and administrative</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%">14,206&#160;</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%">14,785&#160;</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%">(579)</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)</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><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%">27,567&#160;</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%">23,357&#160;</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%">4,210&#160;</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%">18&#160;</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:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Percentage of revenue</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%">16.0&#160;</span></td><td style="background-color:#ffffff;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><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%">18.2&#160;</span></td><td style="background-color:#ffffff;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><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="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%">16.4&#160;</span></td><td style="background-color:#ffffff;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><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%">15.2&#160;</span></td><td style="background-color:#ffffff;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><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></tr></table></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:112%">General and administrative expense related to our software and solutions offered to the real estate vertical and general corporate overhead expenses for the three months ended June&#160;30, 2021 and 2020 was $14.2 million and $14.5 million, respectively, a decrease of $0.3 million, or 2%. The decrease in general and administrative expense was primarily due to a one-time $4.3 million legal expense accrued during the three months ended June 30, 2020 and paid in the three months ended March 31, 2021 related to our previously disclosed settlement with the Federal Trade Commission (the "FTC"). This decrease was offset by an increase of $2.1 million in personnel related costs due to investments in headcount growth within our general and administrative organizations, a $1.0 million one-time expense related to separation pay in connection with the departure of our Chief Financial Officer ("CFO") during the three months ended June 30, 2021, and a $1.1 million increase in allocated shared and other costs to support our overall growth, all of which was partially offset by a net decrease of $0.2 million in connection with long-term executive cash incentive plans for certain executives, including certain of our named executive officers. We expect to incur additional expense in future periods under the long-term executive cash incentive plans throughout the remaining service periods. </span></div><div style="text-align:justify;text-indent:36pt"><span><br/></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:115%">General and administrative expense related to our software and solutions offered to the real estate vertical and general corporate overhead expenses for the six months ended June&#160;30, 2021 and 2020 was $27.6 million and $23.0 million, respectively, an increase of $4.6 million, or 20%. The increase in general and administrative expense was primarily due to $5.0 million increase in personnel-related costs for investments in headcount, $1.0 million expense related to CFO separation pay, a $1.0 million expense in connection with long-term executive cash incentive plans for certain executives, and an increase of $1.9 million in allocated shared and other costs for professional and legal fees, education and training, insurance, software and other costs to support our overall growth. These increases were offset by the $4.3 million legal expense accrued during the three months ended June 30, 2020 and paid in the three months ended March 31, 2021 related to our settlement with the FTC.  </span></div><div style="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%">Depreciation and Amortization</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:25.800%"></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:8.987%"></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:8.987%"></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:7.525%"></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:4.309%"></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:8.987%"></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:8.987%"></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:7.525%"></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:4.321%"></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%">&#160;</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%">Change</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><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%">Change</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%">&#160;</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%">2021</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">2020</span></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">Amount</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000;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%">%</span></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">2021</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">2020</span></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">Amount</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">%</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%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="45" 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%">(dollars in thousands)</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%">Depreciation and amortization</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%">7,649&#160;</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%">6,657&#160;</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%">992&#160;</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%">15&#160;</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><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%">15,018&#160;</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%">13,071&#160;</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%">1,947&#160;</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%">15&#160;</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:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Percentage of revenue</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.6&#160;</span></td><td style="background-color:#ffffff;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><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.2&#160;</span></td><td style="background-color:#ffffff;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><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="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.9&#160;</span></td><td style="background-color:#ffffff;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><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.5&#160;</span></td><td style="background-color:#ffffff;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><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></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%">Depreciation and amortization expense related to our software and solutions offered to the real estate vertical for the three months ended June&#160;30, 2021 and 2020 was $7.6 million and $6.0 million, respectively, an increase of $1.6 million, or 28%. Depreciation and amortization expense related to our software and solutions offered to the real estate vertical for the six months ended June&#160;30, 2021 and 2020 was $15.0 million and $11.8 million, respectively, an increase of $3.2 million, or 27%. These increases in depreciation and amortization expense were primarily due to increased amortization expense associated with higher accumulated capitalized software development balances.</span></div><div style="margin-bottom:6pt;margin-top:12pt;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%">Other Income (Loss), net</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:100.000%"><tr><td style="width:1.0%"></td><td style="width:26.092%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.987%"></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:8.987%"></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:7.525%"></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:4.601%"></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:8.987%"></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:8.987%"></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:7.525%"></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:4.321%"></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%">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%">Change</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><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%">Change</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%">2021</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">2020</span></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;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%">Amount</span></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;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%">%</span></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">2021</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">2020</span></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;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%">Amount</span></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;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%">%</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="45" 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%">(dollars in thousands)</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%">Other income (loss), net</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%">496&#160;</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%">(10)</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%">506&#160;</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%">*</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,058&#160;</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%">12&#160;</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%">1,046&#160;</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%">*</span></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%">Percentage of revenue</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%">0.6&#160;</span></td><td style="background-color:#ffffff;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><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;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><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="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:9pt;font-weight:400;line-height:100%">0.6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">29</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="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%">*Percentage change not meaningful</span></div><div style="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%">Other income (loss), net related to our software and solutions offered to the real estate vertical for the three months ended June&#160;30, 2021 and 2020 was $0.5&#160;million and $(10)&#160;thousand, respectively, an increase of $0.5&#160;million. The increase in Other income (loss), net was primarily due to $0.3 million in other income recorded during the three months ended June&#160;30, 2021 related to certain post-closing transition services provided to MyCase, and $0.2 million in other income recorded during the three months ended June 30, 2021 related to post-closing adjustments to the sales price of MyCase. </span></div><div style="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%">Other income (loss), net related to our software and solutions offered to the real estate vertical for the six months ended June&#160;30, 2021 and 2020 was $1.1&#160;million and $12&#160;thousand, respectively, an increase of $1.0&#160;million. The increase in Other income (loss), net was primarily due to $0.7 million in other income recorded during the six months ended June&#160;30, 2021 related to certain post-closing transition services provided to MyCase, and $0.4 million in other income recorded during the six months ended June 30, 2021 related to post-closing adjustments to the sales price of MyCase. </span></div><div style="text-indent:36pt"><span><br/></span></div><div style="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%">Benefit from Income Taxes</span></div><div style="margin-top:3pt;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:25.508%"></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:8.987%"></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:8.987%"></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:7.525%"></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:4.601%"></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:8.987%"></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:8.987%"></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:7.525%"></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:4.321%"></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%">&#160;</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%">Change</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><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%">Change</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%">&#160;</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%">2021</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">2020</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">Amount</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">%</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">2021</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">2020</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">Amount</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;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%">%</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%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="45" 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%">(dollars in thousands)</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%">Benefit from income taxes</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%">(324)</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%">(13,484)</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%">13,160&#160;</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:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</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%">(5,857)</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%">(13,109)</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%">7,252&#160;</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%">(55)</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:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Percentage of revenue</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%">(0.4)</span></td><td style="background-color:#ffffff;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><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%">(16.6)</span></td><td style="background-color:#ffffff;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><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="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%">(3.5)</span></td><td style="background-color:#ffffff;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><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.5)</span></td><td style="background-color:#ffffff;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><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></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%">*Percentage not meaningful</span></div><div style="text-align:justify;text-indent:36pt"><span><br/></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:115%">We calculate our benefit from income taxes on a quarterly basis by applying an estimated annual effective tax rate to income from operations and by calculating the tax effect of discrete items recognized during the quarter.</span></div><div style="text-align:justify;text-indent:36pt"><span><br/></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:115%">For the three and six months ended June&#160;30, 2021, we recorded an income tax benefit of $0.3 million and $5.9 million, respectively. The effective tax rate as compared to the U.S. federal statutory rate of 21% differs primarily due to the significance of the benefits associated with stock-based compensation expense and research and development tax credits in relation to the forecasted pre-tax results for the year.</span></div><div style="text-align:justify;text-indent:36pt"><span><br/></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:115%">For the three and six months ended June 30, 2020, we recorded an income tax benefit of $13.5 million and $13.1 million, respectively. The effective tax rate as compared to the U.S. federal statutory rate of 21% differs primarily due to the significance of the benefits associated with stock-based compensation expense and research and development tax credits in relation to the forecasted pre-tax results for the year.</span></div><div id="i33d2ee1a81324077be4958e6cee29b3d_91"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Liquidity and Capital Resources</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%">Our principal sources of liquidity continue to be comprised of our cash, cash equivalents, investment securities, as well as cash flows generated from our operations. As of June&#160;30, 2021, our cash, cash equivalents, and investment securities had an aggregate balance of $163.1 million. 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. </span></div><div style="margin-bottom:10pt;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%">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+ services by new and existing customers, the timing and extent of the introduction of new core functionality, products and Value+ services, the timing and extent of our expansion into adjacent or new markets, the timing and extent of our investments across our organization, and the impact of the COVID-19 pandemic on the customers we serve and on our business. 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 or entirely new verticals. Furthermore, our Board of Directors has authorized our management to repurchase 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. For additional information regarding our share repurchase program, refer to Note 10, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Share Repurchase Program, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of our Condensed Consolidated Financial Statements.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></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%">Cash Flows</span></div><div style="margin-top:6pt;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 summarizes our cash flows for the periods indicated (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:74.046%"></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.595%"></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.599%"></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%">&#160;</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%">&#160;</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%">2021</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%">2020</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%">Net cash provided by operating activities</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%">10,661&#160;</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%">27,376&#160;</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%">Net cash used in investing activities</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%">(94,060)</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%">(18,712)</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%">Net cash (used in) provided by financing activities</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%">(8,254)</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%">28,840&#160;</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%">Net (decrease) increase in cash, cash equivalents and restricted cash</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%">(91,653)</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%">37,504&#160;</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-style:italic;font-weight:700;line-height:120%">Cash Provided by Operating Activities</span></div><div style="margin-bottom:10pt;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%">Our primary source of operating cash inflows is cash collected from our customers in connection with their use of our core solutions and Value+ 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.</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%">For the six months ended June&#160;30, 2021, net cash provided by operating activities was $10.7 million resulting from income of $2.5 million, non-cash charges of $15.7 million and a net decrease in our operating assets and liabilities of $7.6 million. The non-cash charges primarily consist of an increase in deferred taxes of $6.1 million, $15.0 million of depreciation and amortization costs, $1.4 million of amortization of operating lease right-of-use ("ROU") assets, and stock-based compensation expense of $6.0 million. The net decrease in our operating assets and liabilities was mostly attributable to a $9.0 million decrease in income taxes payable primarily driven by income taxes paid due to the MyCase Transaction, a $3.0 million decrease in accrued expenses which was primarily due to a $4.3 million legal expense accrued during the three months ended June 30, 2020 and paid in the three months ended March 31, 2021 related to our settlement with the FTC, a $2.2 million increase in prepaid expenses and other current assets primarily attributable to an increase in tenant improvement allowance receivable, and a $4.0 million increase in accounts receivable primarily driven by growth of our Value+ services. These decreases were partially offset by a $1.7 million increase in operating lease liabilities, a $1.0 million increase in accrued employee expenses-noncurrent due to an increase in accrued long-term management bonuses made in connection with long-term executive cash incentive plans for certain executives, a $7.6 million increase in accrued employee expenses-current primarily due to an increase in other short-term accrued management bonuses, and a $1.3 million increase in accounts payable. </span></div><div style="text-align:justify;text-indent:36pt"><span><br/></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%">For the six months ended June 30, 2020, net cash provided by operating activities was $27.4 million resulting from net income of $21.2 million, adjusted by non-cash charges of $5.7 million and a net increase in our operating assets and liabilities of $0.4 million. The non-cash charges primarily consist of an increase in deferred taxes of $13.1 million, $13.1 million of depreciation and amortization costs, stock-based compensation expense of $3.7 million, and $2.1 million of amortization of operating lease right-of-use assets. The net increase in our operating assets and liabilities was mostly attributable to a $5.1 million increase in accounts receivable primarily driven by growth of our Value+ services, partially offset by a $4.5 million increase in accrued expenses which was primarily due to a $4.3 million legal expense accrued during the three months ended June 30, 2020 and paid in the three months ended March 31, 2021 related to our settlement with the FTC, a $0.7 million increase in accrued employee expenses primarily due to an increase in accrued paid time off and partially offset by a decrease in accrued performance-based cash compensation and a $0.5 million increase in deferred revenue driven by growth in the number of customers invoiced during the period. </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%">Cash Used in Investing Activities</span></div><div style="margin-bottom:10pt;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%">Cash used in investing activities is generally comprised of purchases of investment securities, maturities and sales of investment securities, purchases of property and equipment, and additions to capitalized software development.</span></div><div style="margin-bottom:10pt;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%">For the six months ended June&#160;30, 2021, investing activities used $94.1 million in cash primarily due to purchases of investment securities of $148.3 million, capitalized software development costs of $11.9 million, and capital expenditures of $2.8 million to purchase property and equipment for the continued growth and expansion of our business. These uses of cash were partially offset by sales and maturities of investment securities of $42.2 million and $26.8 million, respectively. </span></div><div style="margin-bottom:10pt;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%">For the six months ended June 30, 2020, investing activities used $18.7 million in cash primarily due to capital expenditures of $14.3 million to purchase property and equipment for the continued growth and expansion of our business, purchases of investment securities of $13.4 million, and capitalized software development costs of $12.7 million for the continued investment in our software development. These uses of cash were partially offset by sales and maturities of investment securities of $13.9 million and $7.8 million, respectively.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></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%">Cash (Used in) Provided by Financing Activities</span></div><div style="margin-bottom:10pt;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%">Cash (used in) provided by financing activities is generally comprised of proceeds from the exercise of stock options, net share settlements for employee tax withholdings associated with the vesting of RSUs, activities associated with our former credit facility, which was terminated in connection with the divestiture of MyCase Inc. (For additional details, refer to Note 3. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Divestitures</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">), and activities related to the repurchase of our Class A common stock.</span></div><div style="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%">For the six months ended June&#160;30, 2021, financing activities used $8.3 million in cash primarily as a result of net share settlements for employee tax withholdings associated with the vesting of RSUs of $8.9 million.</span></div><div style="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%">For the six months ended June 30, 2020, financing activities provided $28.8 million in cash primarily as a result of proceeds from our prior revolving credit facility of $50.2 million, partially offset by net share settlements for employee tax withholdings associated with the vesting of RSUs of $9.7 million, payment of contingent consideration related to the Dynasty acquisition completed in January 2019 of $6.0 million, the repurchase of outstanding shares of Class A common stock in the amount of $4.2 million, and principal payments on debt of $1.8 million. </span></div><div><span><br/></span></div><div id="i33d2ee1a81324077be4958e6cee29b3d_94"></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Contractual Obligations and Other Commitments</span></div><div style="margin-bottom:10pt;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%">There have been no material changes to our contractual obligations and other commitments as disclosed in our Annual Report.</span></div><div id="i33d2ee1a81324077be4958e6cee29b3d_97"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Off-Balance Sheet Arrangements</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%">As of June&#160;30, 2021, we did not have any off-balance sheet arrangements.</span></div><div id="i33d2ee1a81324077be4958e6cee29b3d_100"></div><div style="margin-bottom:6pt;margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Critical Accounting Policies and 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%">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 and 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. </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 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.</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recent Accounting Pronouncements</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%">For information regarding recent accounting pronouncements, refer to Note 2, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Summary of Significant Accounting Policies</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, of our Condensed Consolidated Financial Statements. </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32</span></div></div></div><div id="i33d2ee1a81324077be4958e6cee29b3d_103"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 3. Qualitative and Quantitative Disclosure about Market Risk</span></div><div style="margin-top:12pt;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%">Interest Rate Risk</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-style:italic;font-weight:400;line-height:120%">Investment Securities</span></div><div style="margin-bottom:6pt;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%">As of June&#160;30, 2021, we had cash and cash equivalents of $48.6 million consisting of bank deposits, money market funds, commercial paper, and treasury securities, and $114.5 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. </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%">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 income unless an investment security is considered impaired in which case changes in fair value are reported in other expense. As of June&#160;30, 2021, a hypothetical 100 basis point decrease in interest rates would not have resulted in a material change in the fair value of our investment securities 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.5&#160;million. This estimate is based on a sensitivity model which measures an instant change in interest rates by 100 basis points at June&#160;30, 2021.</span></div><div style="margin-top:12pt;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%">Inflation Risk </span></div><div style="margin-bottom:10pt;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%">We have not been exposed to, nor do we anticipate being exposed to, material risks due to changes in inflation rates.</span></div><div style="margin-top:12pt;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%">Foreign Currency Risk</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="margin-top:12pt;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 not been exposed to, nor do we anticipate being exposed to, material risks relating to foreign currency exchange rate fluctuations.</span></div><div id="i33d2ee1a81324077be4958e6cee29b3d_106"></div><div style="margin-bottom:12pt;margin-top:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 4. Controls and Procedures</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%">Evaluation of Disclosure Controls and Procedures</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%">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 &#8220;disclosure controls and procedures,&#8221; 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&#8217;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&#8217;s management, including its principal executive officer and principal financial officer, as appropriate to allow timely decisions regarding required disclosure.</span></div><div style="margin-top:12pt;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%">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.</span></div><div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></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%">Changes in Internal Control over Financial Reporting</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%">There were no changes in our internal control over financial reporting identified in connection with the evaluation required by Rule&#160;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. </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%">As previously disclosed on Current Reports on Form 8-K filed with the SEC on May 10, 2021 and June 4, 2021, Ida Kane resigned as Chief Financial Officer effective June 4, 2021. We do not believe that the resignation has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting. We are in the process of conducting our search for Ms. Kane&#8217;s successor. Our Chief Executive Officer has signed the required certifications as both the Principal Executive Officer and Principal Financial Officer for our most recently completed fiscal quarter.</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%">Inherent Limitations on Effectiveness of Disclosure Controls</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%">In designing and evaluating our disclosure controls and procedures, our management recognizes that any controls and procedures, no matter how well designed and operated, can provide only reasonable and not absolute assurance of achieving the desired control objectives. In reaching a reasonable level of assurance, management necessarily is required to apply its judgment in evaluating the cost-benefit relationship of possible controls and procedures. In addition, the design of any system of controls is based in part upon certain assumptions about the likelihood of future events, and there can be no assurance that any design will succeed in achieving its stated goals under all potential future conditions. Over time, controls may become inadequate because of changes in conditions, or the degree of compliance with policies or procedures may deteriorate. Control systems can also be circumvented by the individual acts of some persons, by collusion of two or more people, or by management override of the control. Because of the inherent limitations in a cost-effective control system, misstatements due to error or fraud may occur and not be detected.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">34</span></div></div></div><div id="i33d2ee1a81324077be4958e6cee29b3d_109"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART II. OTHER INFORMATION</span></div><div id="i33d2ee1a81324077be4958e6cee29b3d_112"></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 1. Legal Proceedings</span></div><div style="margin-bottom:5pt;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%">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, 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.</span></div><div id="i33d2ee1a81324077be4958e6cee29b3d_115"></div><div style="margin-top:15pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 1A. Risk Factors</span></div><div style="margin-bottom:6pt;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:115%">You should consider carefully the risks described below, together with all of the other information included in this Quarterly Report, as well as in our other filings with the SEC, in evaluating our business and/or an investment in our Class A common stock. If any of the following risks actually occur, our business, financial condition, operating results and future prospects could be materially and adversely affected. In that case, the trading price of our Class A common stock may decline and you might lose all or part of your investment. The risks described below are not the only ones we face. Additional risks that we currently do not know about or that we currently believe to be immaterial may also impair our business, financial condition, operating results and prospects.</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%">Please be advised that certain of the risks and uncertainties described below contain &#8220;forward-looking statements.&#8221; See the section of this Quarterly Report entitled &#8220;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Cautionary Note Regarding Forward-Looking Statements</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8221; for additional information.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:103%">Risks Related to Our Business and Our Industry </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:103%">Health epidemics, including the COVID-19 pandemic, have had, and could in the future have, a material adverse impact on our operations, the operations of our customers and other business partners, and the markets and communities in which we and our customers and partners operate.</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 December 2019, a novel coronavirus disease, referred to as COVID-19, was reported and spread globally, including to every state in the United States. On March 11, 2020, the World Health Organization declared COVID-19 a pandemic, and on March 13, 2020, the United States government declared a national emergency with respect to COVID-19. The COVID-19 pandemic has had, and another public health crisis or epidemic in the future could have repercussions across local, regional and global economies and financial markets. The outbreak of COVID-19 in many countries, including the United States, has adversely impacted global economic activity and has contributed to volatility in and negative pressure on financial markets. In response to the COVID-19 pandemic, many state, local, and foreign governments have put in place, and others in the future may put in place, travel restrictions, quarantines, shelter-in-place orders, and similar government orders and restrictions, in an attempt to control the spread of the disease. Such restrictions or orders, or the perception that such restrictions or orders could be implemented, have resulted in business closures, work stoppages, slowdowns and delays, work-from-home policies, and cancellation or postponement of events, among other effects that could negatively impact our operations, as well as the operations of our customers and business partners. These potential impacts are only amplified by the length of time they remain in place, as the cumulative effect upon our customers and their businesses may exacerbate the potential harm to our business and results of operations. </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%">Beginning in March 2020, in an effort to protect our employees and comply with applicable government orders, we transitioned our employees to a remote work environment and restricted non-essential employee travel. Our workforce has continued to effectively develop and support our software and services offerings notwithstanding the current environment. We expect to slowly transition employees back to the workplace and resume employee travel throughout 2021; however employees will have the option to work remotely for the remainder of the year. If the COVID-19 pandemic once again requires full remote working conditions or otherwise slows our return to the workplace, it could have an adverse impact on the productivity of our employees as they navigate the challenges of daily life during a pandemic, which would harm our business and impede our ability to achieve our strategic objectives. Furthermore, the COVID-19 pandemic may have long-term effects on the nature of the office environment and remote working, which may present operational and workplace culture challenges that may adversely affect our business. </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">35</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></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%">The COVID-19 pandemic has resulted in a rapid rise in unemployment and a sudden decrease in global economic activity, and many businesses have experienced, or are anticipating that they may experience, a significant negative impact on their operating results. Our inability to meet in-person with current or prospective customers, or the cancellation or postponement of company-sponsored events or third-party events at which our products are featured, could have a negative impact on our customer engagement efforts, which could further impact demand in future periods. Furthermore, the demand for our products and services, as well as our operating results, could be adversely impacted due to a number of other factors, including the following: </span></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:103%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:103%;padding-left:13.75pt">customers delaying decisions to adopt our core products, or expand the use of our Value+ services, as they seek to reduce or delay spending in response to the impacts of COVID-19 on their own businesses;</span></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:103%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:103%;padding-left:13.75pt">a complete or partial closure of, or other operational issues at, properties owned by our customers resulting from government restrictions or orders;</span></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:103%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:103%;padding-left:13.75pt">a deterioration in our ability, or the ability of our customers, to operate in affected geographic areas;</span></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:103%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:103%;padding-left:13.75pt">bankruptcies or other financial difficulties facing our customers, which could cause them to delay making payments to us, or result in them terminating or reducing their use of our core products or Value+ services;</span></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:103%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:103%;padding-left:13.75pt">the inability of tenants to meet their obligations to our customers, resulting in tenant evictions or the sale of properties;</span></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:103%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:103%;padding-left:13.75pt">the failure of key business partners to provide services needed for our efficient operations, including with respect to electronic payments and tenant screening;</span></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:103%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:103%;padding-left:13.75pt">a decrease in the reliability or availability of our core products or Value+ services as a result of errors, defects or service interruptions caused by the remote work environment; </span></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:103%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:103%;padding-left:13.75pt">an increase in risks related to cyber-attacks or fraud designed to exploit perceived or actual gaps in security as a result of the remote work environment; and</span></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:103%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:103%;padding-left:13.75pt">a decrease in the availability or utility of our customer service organization caused by the remote work environment.</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%">Any of the factors described above, or any number of other risks related to the COVID-19 pandemic, could disrupt our business, which could have a material adverse impact on our business, operations and financial results. Both the pandemic and the containment and mitigation measures have had and are likely to continue to have an adverse impact on the global and U.S. economies, the severity and duration of which are uncertain. It is likely that government stabilization efforts will only partially mitigate the consequences to the economy. As such, both the pandemic and containment and mitigation measures may adversely affect our business, operations and financial condition by, among other things, reducing demand for our core solutions and/or Value+ services, impairing the productivity of our workforce, and reducing our access to capital. The extent to which the COVID-19 pandemic will impact our business, financial conditions, and results of operations in the future is highly uncertain and will be affected by a number of factors. These include the duration and extent of the pandemic, the duration and extent of imposed or recommended containment and mitigation measures, the extent, duration, and effective execution of government stabilization and recovery efforts, including those from the successful distribution of effective vaccines.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">We manage our business to achieve long-term growth, which may not be consistent with the short-term expectations of some investors.</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:115%">We plan to continue to manage our business towards the achievement of long-term growth to positively impact long-term value, and not towards the realization of short-term metrics or short-term value. We will make product decisions and pursue opportunities that may reduce our short-term operating results if we believe that these decisions are consistent with our strategic objective to achieve long-term growth. These decisions may not be consistent with the short-term expectations of some investors, and may cause significant fluctuations in our operating results and our stock price from period to period. In addition, notwithstanding our intention to make strategic decisions that positively impact long-term value, the decisions we make may not produce the long-term benefits we expect. Our principal stockholders, some of whom also serve as our directors and executive officers, control a majority of the combined voting power of our outstanding capital stock. As a result, they control the election of a majority of our directors and thereby have the power to control our affairs and policies, including the appointment of management and strategic decisions, as well as matters that are submitted to a vote by our holders of our common stock. The interests of our principal stockholders may be inconsistent with or adverse to those of holders our Class A common stock.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Failure to manage our growth effectively could adversely affect our operating results and preclude our achievement of our strategic plans.</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%">We anticipate that we will continue to experience growth and expansion of our operations. This growth in the size, complexity and diversity of our business has placed, and we expect it will continue to place, a significant strain on our management, administrative, operational and financial resources, as well as our company culture. Our future success will depend, in part, on our ability to manage this growth effectively, which we expect to be more challenging in the current environment as we seek to continue to respond to the uncertainty and disruption caused by the COVID-19 pandemic. To manage the expected growth of our operations, we will need to continue to develop and improve our operational and financial controls and our reporting systems and procedures, attract and retain highly qualified and motivated personnel across our organization, and nurture and build on our company culture. Failure to effectively manage growth could adversely impact our business, including by resulting in errors or delays in deploying new core functionality to our customers, delays or difficulties in introducing new Value+ services or other products, declines in the quality or responsiveness of our customer service organization, exposure to legal, regulatory and operational risks inherent in our business and resulting from any new products or services we provide to our customers or to our customers&#8217; customers, increases in costs and operating expenses, and other operational difficulties. If any of these risks actually occur, it could adversely affect our operating results, and preclude us from achieving our strategic objectives.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">We expect to make substantial investments across our organization to grow our business and may not sustain profitability.</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 order to implement our business and growth strategy, we have made and will continue to make substantial investments across our organization and, as a result, we expect our expenses to increase significantly and we may not be consistently profitable. For example, we intend to continue to make substantial investments in, among other things: our research and product development organization to enhance the ease of use and functionality of our software solutions and develop new products; our continued efforts to identify acquisition targets that enhance the depth and/or functionality of our software solutions or Value+ services; our customer service organization to deepen our relationships with our customers and promote customer retention; our sales and marketing organization, including expansion of our direct sales organization and marketing programs, to increase the size of our customer base and increase adoption and utilization of new and existing Value+ services by our new and existing customers; maintaining and expanding our technology infrastructure and operational support to promote the security and availability of our software solutions; our general and administrative functions, to support our growth and assist us in maintaining compliance with legal, regulatory and other compliance-related obligations; and the expansion of our existing facilities, including leasing and building out additional office space, to support our growth and strategic development. Even if we are successful in growing our customer base and increasing revenue from new and existing customers, we may not be able to generate additional revenue in an amount that is sufficient to cover our expenses. We cannot assure you that we will continue to achieve profitability in the near term or that we will sustain profitability on a sequential quarterly basis or over any particular period of time. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Our quarterly results may fluctuate significantly and period-to-period comparisons of our results may not be meaningful.</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%">Our quarterly results, including the levels of our revenue, costs, operating expenses, and operating margins, may fluctuate significantly in the future, and period-to-period comparisons of our results may not be meaningful. Accordingly, the results of any one quarter should not be relied upon as an indication of our future performance. Our focus on managing our business towards the achievement of long-term growth, rather than the realization of short-term metrics, may also exacerbate fluctuations in our quarterly results, which could negatively impact the value of our Class A common stock. We may incur significant losses in a particular period for a number of reasons, and may experience significant fluctuations in our operating results from period to period. These and other factors, including the significant disruption and uncertainty caused by the COVID-19 pandemic, combine to make it difficult for us to accurately forecast our future operating results, which in turn makes it difficult for us to prepare accurate budgets and implement strategic plans. Furthermore, if our quarterly results fall below the expectations of investors or any securities analysts who follow our stock, or below any financial guidance we may provide, the price of our Class A common stock could decline substantially. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Our estimates of market opportunity are subject to significant uncertainty and, even if the markets in which we compete meet or exceed our size estimates, we could fail to increase our revenue or market 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:115%">We determine the level of our investment in various aspects of the business, in part, based on our market opportunity estimates. Market opportunity estimates are subject to significant uncertainty and are based on assumptions and estimates, including our internal analysis and industry experience. Assessing the market for industry-specific, cloud-based business management software is particularly difficult due to a number of factors, including limited available information and rapid evolution of the market. Further, market opportunity estimates sometimes change based on relevant macro-trends and market conditions, or evolving assessment methodologies. The disruptions and impacts caused by the COVID&#8209;19 pandemic may ultimately require us to significantly reduce our estimates of the market opportunities in certain markets or industry verticals, which could negatively impact our long-term growth prospects.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Our acquisition of other companies or technologies would subject us to integration risks, as well as risks related to the financing of such acquisitions.</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%">We have acquired, and may in the future acquire, other companies or technologies to complement or expand our software solutions, optimize our technical capabilities, enhance our ability to compete in our targeted vertical, provide an opportunity to expand into an adjacent market or new vertical, or otherwise offer growth or strategic opportunities. For example, in the real estate vertical, we acquired substantially all of the assets of WegoWise in 2018 and completed the acquisition of Dynasty in 2019. The identification, investigation and negotiation of acquisitions may divert the attention of management and cause us to incur various expenses, whether or not they are consummated. We have limited experience acquiring other businesses and we may not be able to effectively integrate acquired assets, technologies, personnel and operations or achieve the anticipated synergies or other benefits from the acquired business due to the inherent risks associated with acquisitions. If an acquisition fails to meet our expectations in terms of its contribution to our overall business strategy or operating results, or if the costs of acquiring or integrating the acquired business exceed our estimates, our business, operating results and financial condition may suffer. </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%">Acquisitions could also subject us to related financing risks. We cannot guarantee that additional financing will be available to us on favorable terms when required, or at all. Acquisitions could result in the issuance of equity securities, which would result in immediate dilution to our stockholders and those securities may have powers, preferences or rights senior to the rights of our Class A common stock. We may incur debt to finance acquisitions, which could impose debt service obligations and restrictions on our ability to operate our business. Our ability to obtain additional capital for acquisitions will depend on numerous factors, including investor and lender demand, our compliance with debt obligations, our historical and forecasted financial and operating performance, our liquidity position, the overall condition of the capital markets, and the global economy as a whole. If we raise funds in the form of debt, we may incur interest expense or other costs to service the debt, we may be required to encumber certain assets, and we may become subject to restrictions on our ability to conduct business, any of which could negatively impact our operating results. Furthermore, a significant portion of the purchase price of companies we may acquire could be allocated to goodwill and other intangible assets, which must be assessed for impairment. In the future, if our acquisitions do not yield expected returns, we may be required to take charges to our operating results based on this impairment assessment process, which could adversely affect our operating results.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Security vulnerabilities in our software solutions or a breach of our security controls could result in the loss, theft, misuse, unauthorized disclosure, or unauthorized access to</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:115%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">customer or employee data, or other confidential or sensitive information, which could harm our customer and/or employee relationships, expose us to litigation or harm our reputation.</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%">Our business involves the storage and transmission of a significant amount of confidential and sensitive information, including the personal information of our employees and other individuals, customer data, and our proprietary financial, operational and strategic information. In providing our software solutions, we store and transmit large amounts of our customers&#8217; data, including sensitive and proprietary data and personal information collected by or on behalf of our customers. Our software solutions are typically the system of record, system of engagement and, increasingly, the system of intelligence for all or a portion of our customers&#8217; businesses, and the data processed through our software solutions is critical to their businesses. Like many other businesses, we have experienced, and are continually at risk of being subject to, cyber attacks and data security incidents. As our business grows, the number of users of our software solutions, as well as the amount of information we collect and store, is increasing, and our brands are becoming more widely recognized which makes us an even greater target for malicious activity. There can be no assurance that the security measures we employ will prevent malicious or unauthorized access to our systems and information. Furthermore, no security program can entirely eliminate the risk of human error, such as an employee or contractor&#8217;s failure to follow one or more security protocols. Therefore, despite our significant efforts to keep our systems, products and networks protected and up to date, we may be unable to anticipate cyber attacks, detect security incidents or react to them in a timely manner, or implement adequate preventive measures, any of which may expose us to a risk of loss, litigation and potential liability. In addition, some of our third-party service providers also collect and/or store our sensitive information and our customers&#8217; data on our behalf, and these service providers are subject to similar threats of cyber attacks and other malicious Internet-based activities.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></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%">If our security measures, or the security measures of our third-party service providers, are breached as a result of wrongdoing or malicious activity on the part of our employees, our partners&#8217; employees, our customers&#8217; employees, or any third party, or as a result of any human error or neglect, product defect or otherwise, and this results in the loss, theft, misuse, unauthorized disclosure, or unauthorized access to customer data or other sensitive information, we could incur liability to our customers and to individuals or organizations whose information was being stored by us or our customers, as well as fines from payment processing networks and regulatory action by governmental bodies. If we experience a widespread security breach, we cannot be certain that our insurance coverage will be sufficient to compensate us for liabilities actually incurred or that insurance will continue to be available to us on reasonable terms, or at all. In addition, security breaches could result in reputational damage, adversely affect our ability to attract new customers and cause existing customers to reduce or discontinue the use of our software solutions. Furthermore, the perception by our current or potential customers that our software solutions could be vulnerable to exploitation or that our security measures are inadequate, even in the absence of a particular problem or threat, could reduce market acceptance of our software solutions and cause us to lose customers. The legal and regulatory environment around data security and governance is significantly evolving, and both regulators and consumers are increasingly taking action on data-related matters, which may contribute to increased reputational, economic and other harm in the event of a data security incident.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Service outages and other infrastructure performance problems could harm our reputation and adversely affect our ability to attract and retain customers.</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%">We seek to maintain sufficient excess capacity in our technology infrastructure to meet the needs of all of our customers, including facilitating the expansion of existing customer deployments and the provisioning of new customer deployments. We have experienced, and may in the future experience, website disruptions, service outages and other performance problems with our technology infrastructure. These problems may be caused by a variety of factors, including infrastructure changes, power or network outages, fire, flood or other natural disasters affecting our cloud computing platform providers, human or software errors, viruses, security breaches, fraud or other malicious activity, spikes in customer usage and distributed denial of service attacks. If our technology infrastructure fails to keep pace with the increased number of users and amount of data, or if we are unable to avoid service outages and performance problems, or to resolve them quickly, this could adversely affect our ability to attract new customers, result in the loss of existing customers and harm our reputation, any or all of which could adversely affect our business and operating results.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Errors, defects or other disruptions in our software solutions could harm our reputation, cause us to lose customers, and result in significant expenditures to correct the problem.</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%">Our customers use our software solutions to manage critical aspects of their businesses, and any errors, defects or other disruptions in the performance of our software solutions, including with respect to third party partners upon which certain of our software solutions are dependent, may result in loss of or damage to our customers&#8217; data and disruption to our customers&#8217; businesses, which could harm our reputation. We provide continuous updates to our software solutions and these updates may contain undetected errors when first introduced. In the past, we have discovered errors, failures, vulnerabilities and bugs in our software updates after they have been released, and similar problems may arise in the future. Real or perceived errors, failures, vulnerabilities or bugs in our software solutions could result in negative publicity, reputational harm, loss of customers, delay in market acceptance of our software solutions, loss of competitive position, withholding or delay of payment to us, claims by customers for losses sustained by them and potential litigation or regulatory action. In any such event, we may be required to expend additional resources in order to help correct the problem or we may choose to expend additional resources to take corrective action even where not required. The costs incurred in correcting any material errors, defects or other disruptions could be substantial and there may not be any corresponding increase in revenue to offset these costs. In addition, we may not carry insurance sufficient to compensate us for any losses that may result from claims arising from errors, defects or other disruptions in our software solutions.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Privacy and data security laws and regulations could impose additional costs and reduce demand for our software solutions.</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%">We store and transmit personal information relating to our employees and other individuals, and our customers use our technology platform to store and transmit a significant amount of personal information relating to their customers, vendors, employees and other industry participants. Federal, state and foreign government bodies and agencies have in the past adopted, and may in the future adopt, laws and regulations regarding the collection, use, processing, storage and disclosure of personal or identifying information obtained from customers and other individuals. For instance, the California Consumer Privacy Act created new data privacy and security rights for California residents and the Virginia Consumer Data Protection Act creates new data privacy and security rights for Virginia residents. Similarly, there are a number of existing and proposed laws and regulations in the European Union and the United States at both the federal and state level, as well as other jurisdictions that could impose new obligations in areas affecting our business. These new obligations could increase the cost and complexity of delivering our services, and divert our managements&#8217; attention from pursuing strategic objectives.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></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 addition to government regulation, privacy advocates and industry groups may propose various self-regulatory standards that may legally or contractually apply to our business. As new laws, regulations and industry standards take effect, and as we expand into new jurisdictions, adjacent markets or, potentially, verticals consistent with our strategic plan, we will need to understand and comply with various new requirements, which may result in significant additional costs. These laws, regulations and industry standards could have negative effects on our business, including by increasing our costs and operating expenses, and/or delaying or impeding our deployment of new or existing core functionality or Value+ services. Failure to comply with these laws, regulations and industry standards could result in negative publicity, subject us to fines or penalties, expose us to litigation, or result in demands that we modify or cease existing business practices. In addition, the costs of compliance with, and other burdens imposed by, such laws, regulations and industry standards may adversely affect our customers&#8217; ability or desire to collect, use, process and store personal information using our software solutions, which could reduce overall demand for them. Furthermore, privacy and data security concerns may cause our customers&#8217; clients, vendors, employees and other industry participants to resist providing the personal information necessary to allow our customers to use our applications effectively. Any of these outcomes could adversely affect our business and operating results.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">We depend on highly skilled personnel and, if we are unable to retain or hire additional qualified personnel or if we lose key members of our management team, we may not be able to achieve our strategic objectives and our business may be harmed.</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%">Our success and future growth depend, in part, upon the continued services of our executive officers and other key employees. There may be changes in our executive officers or other key employees resulting from the hiring or departure of these personnel, which may disrupt our business. The loss of one or more of our executive officers or other key employees could have an adverse effect on our business. In addition, to execute our growth plan and achieve our strategic objectives, we must continue to attract and retain highly qualified and motivated personnel across our organization. In particular, in order to continue to enhance our software solutions, add new and innovative core functionality and/or Value+ services, as well as develop new products, it will be critical for us to increase the size of our research and product development organization, including hiring highly skilled software engineers. Competition for software engineers is intense within our industry and there continues to be upward pressure on the compensation paid to these professionals. Further, in order for us to achieve broader market acceptance of our software solutions, grow our customer base, and pursue adjacent markets and, potentially, new verticals consistent with our strategic plan, we will need to continue to increase the size of our sales and marketing and customer service and support organizations. Identifying, recruiting, training and retaining qualified personnel is difficult and requires a significant investment of time and resources.</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%">Many of the companies with which we compete for experienced personnel have greater name recognition and financial resources than we have. In addition, our headquarters are located in Santa Barbara, California, which is not generally recognized as a prominent commercial center, and it is challenging to attract qualified professionals due to our geographic location. As a result, we may have even greater difficulty hiring and retaining skilled personnel than our competitors. If we hire employees from other companies, their former employers may attempt to assert that we or these employees have breached their legal obligations, resulting in a diversion of our time and resources. In addition, prospective and existing employees often consider the value of the equity awards they receive in connection with their employment. If the perceived value of our equity awards declines, or if the price of our Class A common stock experiences significant volatility, this may adversely affect our ability to recruit and retain highly skilled employees. If we are unable to attract and retain the personnel necessary to execute our growth plan, we may be unable to achieve our strategic objectives and our operating results may suffer. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Our corporate culture has contributed to our success and, if we cannot continue to foster this culture as we grow, we could lose the passion, creativity, teamwork, focus and innovation fostered by our culture.</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%">We believe that our culture has been and will continue to be a key contributor to our success. If we do not continue to develop our corporate culture or maintain our core values as we grow and evolve, we may be unable to foster the passion, creativity, teamwork, focus and innovation we believe we need to support our growth. Any failure to preserve our culture could negatively affect our ability to recruit and retain personnel and to effectively focus on and pursue our strategic objectives. Moreover, liquidity available to our employee security holders could lead to disparities of wealth among our employees, which could adversely impact relations among employees and our culture in general. As we grow and mature as a public company, we may find it difficult to maintain our corporate culture. This difficulty will only be exacerbated by the COVID-19 pandemic, which has resulted in travel restrictions, quarantines, shelter-in-place orders and similar government orders and restrictions that collectively make it more difficult for employees to interact, communicate and innovate.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">We face risks in our electronic payment services business that could adversely affect our business and/or operating results.</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 our electronic payments services business, we facilitate the processing of both inbound and outbound payments for our customers. These payments are settled through our sponsoring clearing bank, card payment processors, and other third-party electronic payment services providers that we may contract with from time to time. Our electronic payment services subject us to a number of risks, including, but not limited to, liability for customer costs related to disputed or fraudulent transactions and other incidences of fraud in our electronic payment services ecosystem. In the event that we are found to be in violation of our legal, regulatory or contractual requirements, we may be subject to monetary fines or penalties, cease-and-desist orders, mandatory product changes, or other liabilities that could have an adverse effect on our operating results. Additionally, with respect to the processing of electronic payment transactions by our third-party electronic payment services providers, we are exposed to financial risk. Electronic payment transactions between our customer and another user may be returned for various reasons such as insufficient funds, fraud or stop payment orders. If we or our electronic payment services provider is unable to collect such amounts from the customer&#8217;s account, we bear the ultimate risk of loss for the transaction amount. Further, there is an overarching risk stemming from the potential widespread adoption of quickly evolving financial technology products, including, for example, blockchain or other distributed ledger technologies, that could materially impact the manner in which payments are processed, the mix of payment methodologies conventionally utilized by payors and payees, and the regulatory framework applicable to such payments. The adoption of disruptive financial technologies could significantly reduce the volume of our electronic payment services business and/or change the transaction costs associated with those payments, thereby reducing our revenue and increasing our associated expenses, which could materially impact our business, financial condition, and operating results.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:103%">Evolution and expansion of our electronic payment services may subject us to additional risks and regulatory requirements.</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%">The evolution and expansion of our electronic payment services may subject us to additional risks and regulatory requirements, including, without limitation, laws and regulations governing money transmission and anti-money laundering. These requirements vary throughout the markets in which we operate, and several jurisdictions lack clarity with respect to the application and interpretation of these rules. Our efforts to comply with these rules could require significant management time and effort, as well as significant expenditures, and will not guarantee our compliance with all regulatory requirements, especially given that the applicable regulatory frameworks are constantly changing and subject to evolving interpretation. While we maintain a compliance program focused on applicable laws and regulations throughout our applicable industries, there is no guarantee that we will not be subject to fines, penalties or other regulatory actions in one or more jurisdictions, or be required to adjust our business practices to accommodate future regulatory requirements.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">We face risks in our tenant screening services business that could adversely affect our business and/or operating results.</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%">Our tenant screening services business is subject to a number of complex laws that are subject to varying interpretations, including the FCRA and related regulations. The FCRA continues to be the subject of multiple class-based litigation proceedings, as well as numerous regulatory inquiries and enforcement actions. In addition, entities such as the FTC and the Consumer Financial Protection Bureau have the authority to promulgate rules and regulations that may impact our customers and our business, and have made various public statements that tenant screening is an area of focus for such agencies. Although we attempt to structure our tenant screening services to comply with the relevant laws and regulations, we may be found to be in violation of them and we may be subject to routine regulatory inquiries, enforcement actions, class-based litigation or indemnity demands.</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%">As previously disclosed, we received a Civil Investigative Demand from the FTC in December 2018 requesting certain information relating to our compliance with the FCRA in connection with our tenant screening services business (the "FTC Investigation"). On April 30, 2020, the FTC staff informed us of its belief that there was a reasonable basis for asserting claims against us for our alleged failure to comply with certain sections of the FCRA. Notwithstanding our disagreement with the FTC's position and vigorous defense of our position, primarily in an effort to avoid protracted litigation and potential distraction to our business, we entered into a settlement agreement with the FTC in an effort to resolve all claims and allegations arising out of or relating to the FTC Investigation. We admitted no wrongdoing in connection with the settlement, but paid $4.3 million to the FTC in connection therewith and are subject to ongoing compliance and reporting requirements. Our failure to comply with these requirements could result in additional penalties or other actions by the FTC or other agencies.</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%">Due to the large number of tenant screening transactions in which we participate, our potential liability in any enforcement action or a class action lawsuit could have a material impact on our business, especially given that certain applicable laws and regulations provide for fines or penalties on a per occurrence basis. The existence of any such enforcement action or class action lawsuit, whether meritorious or not, may adversely affect our ability to attract customers, result in the loss of existing customers, harm our reputation and cause us to incur defense costs or other expenses.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">41</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">We use third-party service providers for electronic payment and tenant screening services, and their failure to fulfill their contractual obligations could harm our reputation, disrupt our business and adversely affect our operating results.</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%">We use third-party electronic payment services providers to enable us to provide electronic payment services, and third-party tenant screening services providers to enable us to provide tenant screening services such as background and credit checks to our customers. In some cases, functions necessary to our business are performed on proprietary third-party systems and software to which we have no access. The failure of these service providers to provide us with accurate and timely information, to fulfill their contractual obligations to us, or to renew their contracts with us, could result in direct liability to us, harm our reputation, result in significant disruptions to our business, and adversely affect our operating results.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">The vertical market in which we participate is intensely competitive and our business could be harmed if we do not compete effectively.</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%">The overall market for cloud-based business management software is global, highly competitive and continually evolving in response to a number of factors, including changes in technology, operational requirements, and laws and regulations. While we focus on providing industry-specific, cloud-based business management software solutions to the real estate vertical, we compete with other vertical cloud-based solution providers, as well as with horizontal cloud-based solution providers that provide broad cloud-based solutions across multiple verticals. Our competitors include established vertical software vendors, as well as newer entrants in the market. We also face competition from numerous cloud-based solution providers that focus almost exclusively on one or more point solutions. Continued consolidation among cloud-based providers could lead to significantly increased competition. Many of our competitors and potential competitors are larger and have greater name recognition, longer operating histories, and significantly greater resources. As a result, our competitors may be able to respond more quickly and effectively to new or changing opportunities, technologies, operational requirements and industry standards, as well as to new challenges such as those resulting from the COVID-19 pandemic. In addition, our current and potential competitors may develop, market and sell new technologies with comparable functionality to our software solutions, which could cause us to lose customers, slow the rate of growth of new customers and/or cause us to decrease our prices in order to remain competitive. For all of these reasons, we may not be able to compete effectively against our current and future competitors, which could harm our business.</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%">As the markets for our existing software solutions mature, or as current and future competitors introduce new products or services that compete with ours, we may experience pricing pressure and be unable to renew our subscription agreements with existing customers or increase adoption and usage of our Value+ services, or attract new customers at prices that are consistent with our current pricing model and operating budget. We may ultimately have to change our pricing model or offer pricing incentives which may adversely affect our revenue even if adoption and utilization remain constant. Changes to our pricing model could harm our customer retention rates and our ability to attract new customers, whether in connection with our core solutions or our Value+ services, which could adversely affect our operating results.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Business management software for small and medium-sized businesses ("SMBs") is an evolving market. If the market is smaller than estimated or the transition to or between cloud-based business management software slows, our operating results could be adversely affected.</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%">We provide cloud-based business management software for SMBs in the real estate vertical and will assess entry into new or adjacent markets consistent with our strategic plan. Our success will depend, in part, on the continued widespread adoption by SMBs of cloud-based business management software. The market for industry-specific, cloud-based business management software for SMBs, both generally, and specifically within the real estate market, is evolving and is relatively small. The continued expansion of this market depends on numerous factors, including the cost and perceived value associated with cloud-based business management software relative to disparate point solutions, the willingness of SMBs to transition from their existing software systems or otherwise alter their existing businesses practices, and the ability of cloud-based solution providers to address security, privacy, availability and other concerns. If the widespread adoption of cloud-based business management software by SMBs does not continue, our revenue may increase at a slower rate than we expect and may even decline, which could adversely affect our operating results. In addition, it is difficult to estimate the rate at which SMBs will be willing to transition to or between vertical cloud-based business management software in any particular period, which makes it difficult to estimate the overall size and growth rate of the market for cloud-based business management software at any point in time or to forecast revenue growth or market share. This transition rate may be negatively impacted by the COVID-19 pandemic as customers may delay decisions to adopt our core products, or expand the use of our Value+ services, as they seek to reduce or delay spending within their businesses.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">If we are unable to increase sales of our software solutions to larger customers while mitigating the risks associated with serving such customers, our business and operating results may suffer.</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%">While we plan to continue to market and sell our software solutions to smaller companies or firms, our growth strategy is dependent, in part, upon increasing sales of our software solutions to larger customers within the real estate vertical. Sales to larger customers may involve risks that are not present, or are present to a lesser extent, in sales to smaller businesses. As we seek to increase our sales to larger customers, we may invest considerably greater amounts of time and financial resources in our sales and marketing efforts. In addition, we may face longer sales cycles and experience less predictability and greater </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">42</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">competition in completing some of our sales. Our ability to sell our software solutions to larger customers may be dependent, in part, on our ability to develop functionality, or to implement pricing policies, that are unique to particular customers or are necessary for success in a market segment dominated by larger customers. Also, because security breaches or other performance problems with respect to larger customers may result in greater economic harm to these customers and more adverse publicity, there is increased financial and reputational risk associated with serving such customers. If we are unable to increase sales of our software solutions to larger customers, while mitigating the risks associated with serving such customers, our business and operating results may suffer.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">If we are unable to introduce successful enhancements, including new and innovative core functionality and/or Value+ services, or new products for adjacent markets or additional verticals, our operating results could be adversely affected.</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%">The software industry is characterized by rapid technological advances, changing industry standards, evolving customer requirements and intense competition. Our ability to attract new customers, increase revenue from our existing customers, and expand into adjacent markets or, potentially, new verticals depends, in part, on our ability to enhance the functionality of our existing software solutions by introducing new and innovative core functionality and/or Value+ services that keep pace with technological developments and address the evolving business needs of our customers. In addition, our growth over the long-term depends, in part, on our ability to introduce new products for adjacent markets and, potentially, additional verticals that we identify through our market validation process consistent with our strategic plan. Market acceptance of our current and future software solutions will depend on numerous factors, including the pricing of our software solutions relative to competitive products, perceptions about the security, privacy and availability of our software solutions relative to competitive products, and the time-to-market of our updates and enhancements to our core functionality, Value+ services and products. If we are unable to successfully enhance the functionality of our existing software solutions and timely develop or acquire new products that gain market acceptance in adjacent markets and additional verticals consistent with our strategic plan, our revenue may increase at a slower rate than we expect and may even decline, which could adversely affect our operating results. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Our business depends substantially on existing customers renewing their subscriptions with us and expanding their use of our Value+ services, and a decline in either could adversely impact our operating results.</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 order for us to maintain or increase our revenue and improve our operating results, it is important that our existing customers continue to pay subscription fees for the use of our core solutions, which tend to incrementally rise over time, as well as increase their adoption and utilization of our Value+ services. We cannot assure you that our customers will renew their subscriptions with us, that our existing customers will continue to broaden their adoption and utilization of our Value+ services, or that they will use our Value+ services at all. If our existing customers do not renew their subscriptions and increase their adoption and utilization of our existing or newly developed Value+ services, our revenue may increase at a slower rate than we expect and may even decline, which could adversely impact our financial condition and operating results. The loss of our existing customers could have a significant impact on our reputation and our ability to acquire new customers cost-effectively via word-of-mouth. A reduction in the number of our existing customers, even if offset by an increase in new customers, could reduce our revenue and operating margins. We may need to employ increasingly costly sales and marketing efforts and make significant investments in research and product development to introduce Value+ services that ultimately are not broadly adopted by our customers. In either of those cases, we could incur significantly increased costs without a corresponding increase in revenue. Furthermore, we may fail to identify Value+ services that our customers need for their businesses, in which case we could miss opportunities to increase our revenue. We may experience lower rates of subscription renewals, as well as lower rates of adoption and utilization of Value+ services, as a result of the COVID-19 pandemic as customers may seek to reduce or delay spending within their businesses.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">All of our revenues are presently generated by sales to customers and users in the real estate vertical, and factors that adversely affect that vertical, or our customers or users within it, could also adversely affect us.</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%">We expect that our real estate customers and users will continue to account for a significant portion or all of our revenue for the foreseeable future. Demand for our software solutions and services could be affected by factors that are unique to and adversely affect the real estate vertical and our customers and users within it. If the vertical itself declines, our customers may decide not to renew their subscriptions or they may cease using our Value+ services in order to reduce costs to remain competitive. Further, we could lose real estate customers as a result of acquisitions or consolidations within the real estate vertical, bankruptcies or other financial difficulties facing our real estate customers, new or enhanced legal or regulatory regimes that negatively impact the real estate vertical, and conditions or trends specific to the real estate vertical such as the economic factors that impact the rental market. It is possible that the significant increase in unemployment rates, regulation and financial uncertainty caused by the COVID-19 pandemic could have a disproportionate impact on businesses within the real estate vertical, which may, in turn, disproportionately affect our customers and users and, therefore, our business, financial condition and operating results. In addition to the foregoing risks, there is an overarching risk stemming from potential widespread adoption of quickly evolving financial or other disruptive technology products that could significantly impact the real estate vertical, even if the disruptive technology is not specifically designed to apply directly to it. The adoption of these new technologies could significantly reduce the volume or demand of our customers and users, thereby reducing our revenue, which could materially impact our business, financial condition and operating results.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">43</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Our growth depends in part on our strategic relationships with third parties and, if we are unsuccessful in establishing or maintaining these relationships, our ability to compete in our targeted markets or grow our revenue could be impaired.</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 order to grow our business, we anticipate that we will continue to depend on our relationships with third parties, including cloud computing service providers, electronic payment, tenant screening and insurance services providers, and other third parties that support delivery of our software solutions. Identifying partners, negotiating agreements and maintaining relationships requires significant time and resources. Our competitors may be more effective than us in cost-effectively building relationships with third parties that enhance their products and services, allow them to provide more competitive pricing, or offer other benefits to their customers. In addition, acquisitions of our partners by our competitors or others could result in a decrease in the number of current and potential strategic partners willing to establish or maintain relationships with us, and could increase the price at which products or services are available to us. If we are unsuccessful in establishing or maintaining our relationships with third parties, our ability to compete in the marketplace or to grow our revenue could be impaired, which could negatively impact our operating results. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">We depend on cloud computing platforms and computing infrastructure operated by third parties and any disruption in these operations could adversely affect our operating results.</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%">We currently rely on cloud computing resources operated by Amazon Web Services and other third party cloud computing service providers to power the products and services that we provide to our customers. These cloud computing service providers may experience service interruptions that are outside of our control, possibly even across multiple regions, which could adversely affect our business. Furthermore, they may not be able to provide us with additional computing resources needed to scale our infrastructure ahead of our growing customer base. If any of these issues arise, we may be required to migrate our cloud computing resources, or add new computing resources, to other cloud computing service providers. It may require significant effort to migrate all of our services to a different region if we are forced to recover from a regional, or multi-regional, outage by any of our cloud computing service providers. Problems faced by any of these service providers with whom we contract, or changes in service levels provided by them, could adversely affect the experience of our customers, result in loss of or damage to our customers&#8217; stored information, which could harm our reputation, impair our ability to attract and retain customers, and subject us to potential liability, any of which could adversely affect our operating results.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Our platform must integrate with a variety of devices, operating systems and browsers that are developed by others, and if we are unable to ensure that our software solutions interoperate with such devices, operating systems and browsers, our software solutions may become less competitive and our operating results may be harmed.</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%">We offer our software solutions across a variety of operating systems and through the Internet. We depend on the interoperability of our platform with third party devices, desktop and mobile operating systems, as well as web browsers that we do not control. Any changes in such devices, systems or web browsers that degrade the functionality of our software solutions or give preferential treatment to competitive services could adversely affect the adoption and usage of our software solutions. In addition, in order to deliver high quality software solutions, we will need to continuously enhance and modify our functionality to keep pace with changes in Internet-related hardware, mobile operating systems such as iOS and Android, browsers and other software, communication, network and database technologies. We may not be successful in developing enhancements and modifications that operate effectively with these devices, operating systems, web browsers and other technologies or in bringing them to market in a timely manner. Furthermore, uncertainties regarding the timing or nature of new network platforms or technologies, and modifications to existing platforms or technologies, could increase our research and product development expenses. In the event that it is difficult for our customers to access and use our software solutions, our software solutions may become less competitive, and our operating results could be adversely affected.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">If our property management customers stop requiring residents to provide proof of legal liability to landlord insurance, if insurance premiums decline or if insureds experience greater than expected losses, our operating results could be harmed.</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%">We generate revenue by offering legal liability to landlord insurance through a wholly owned subsidiary. Some of our property management customers require residents to provide proof of legal liability to landlord insurance and offer to enroll residents in their legal liability to landlord insurance policy. If demand for rental housing declines, or if our property management customers believe that it may decline, these customers may reduce their rental rates and stop requiring residents to provide proof of legal liability to landlord insurance in order to reduce the overall cost of renting and make their rental offerings more competitive. If our property management customers stop requiring residents to provide proof of legal liability to landlord insurance or elect to enroll residents in insurance programs offered by competing providers, or if insurance premiums otherwise decline, our revenues from insurance services could be adversely affected. Additionally, we underwrite our legal liability to landlord insurance policies, and we are required by our insurance partner to maintain a reserve to cover potential claims under the policies. While our policies have per-occurrence limits, there is no limit on the dollar amount of claims that could be made against us in any particular period or in the aggregate. In the event that claims by the insureds increase unexpectedly, our reserve may not be sufficient to cover our resulting liability under the policies. If we are required to pay out significantly higher amounts to insureds than our current reserves, this could have a material adverse impact on our operating results.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">44</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Our insurance business is subject to state governmental regulation, which could limit the growth of our insurance business and impose additional costs on us.</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%">Our insurance-related wholly owned subsidiaries and third-party service providers maintain licenses with a number of individual state departments of insurance. Collectively, we are subject to state governmental regulation and supervision in connection with the operation of our insurance business, which includes both our legal liability to landlord insurance and renters insurance businesses. Such supervision could limit the growth of our insurance business by increasing the costs of regulatory compliance, limiting or restricting the products or services we provide or the methods by which we provide them, and subjecting us to regulatory actions or proceedings. Our continued ability to maintain these insurance licenses in the jurisdictions in which we are licensed depends on our compliance with the rules and regulations promulgated from time to time by the regulatory authorities in each of these jurisdictions. Furthermore, we are routinely subject to periodic state examinations, audits and investigations of the affairs of insurance companies and agencies, any of which could result in the expenditure of significant management time or financial resources.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:115%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Generally, such authorities are vested with relatively broad discretion to grant, renew and revoke licenses and approvals and to implement and interpret rules and regulations. Accordingly, we may be precluded or temporarily suspended from carrying on some or all of the activities of our insurance business or otherwise be fined or penalized. No assurances can be given that our insurance business can continue to be conducted in any given jurisdiction as it has been conducted in the past or that we will be able to expand our insurance business in the future.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">If we are unable to deliver effective customer service and/or effectively maintain and promote our brands, it could harm our relationships with our existing customers and adversely affect our ability to attract new customers and our operating results.</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%">Our business depends, in part, on our ability to satisfy our customers, both by providing software solutions that address their business needs, and by providing onboarding services and ongoing customer service. Once our software solutions are deployed, our customers depend on our customer service organization to resolve technical issues relating to their use of our solutions. As we do not separately charge our customers for support services, increased demand for our support services would increase costs without corresponding revenue, which could adversely affect our operating results. Further, our sales process is highly dependent on the ease of use of our software solutions, our reputation and positive recommendations from our existing customers. Any failure to maintain high-quality or responsive customer service, or a market perception that we do not maintain high-quality or responsive customer service, could harm our reputation, cause us to lose customers and adversely impact our ability to sell our software solutions to prospective customers. </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%">We believe that maintaining and promoting our brands is critical to achieving widespread awareness and acceptance of our software solutions, and maintaining and expanding our customer base. We also believe that the importance of brand recognition will increase as competition in the real estate vertical increases. If we do not continue to build awareness of our brands, we could be placed at a competitive disadvantage as compared to companies whose brands are, or become, more recognizable than ours. Maintaining and promoting our brands will depend, in part, on our ability to continue to provide new and innovative core functionality and Value+ services and best-in-class customer service, as well as the effectiveness of our sales and marketing efforts. If we fail to deliver products and functionality that address our customers&#8217; business needs, or if we fail to meet our customers&#8217; expectations for customer service, it could weaken our brands and harm our reputation. Maintaining and enhancing our brands may require us to make substantial investments, and these investments may not result in commensurate increases in our revenue. If we fail to successfully maintain and promote our brands, or if we make investments that are not offset by increased revenue, our operating results could be adversely affected.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Failure to protect our intellectual property rights could impair our ability to protect our proprietary technology and our brands, which could harm our business.</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%">We currently rely on patent, trademark, copyright and trade secret laws, trade secret protection and confidentiality or license agreements with our employees, customers, partners and others to protect our intellectual property rights. Our success and ability to compete depend, in part, on our ability to continue to protect our intellectual property, including our proprietary technology and our brands. If we are unable to protect our proprietary rights adequately, our competitors could use the intellectual property we have developed to enhance their own products and services, which could harm our business. In order to monitor and protect our intellectual property rights, we may be required to expend significant resources. Litigation brought to protect and enforce our intellectual property rights could be costly, time-consuming and distracting to management, and could result in the impairment or loss of portions of our intellectual property or require us to pay costly royalties. Furthermore, our efforts to enforce our intellectual property rights may be met with defenses, counterclaims and countersuits attacking the validity and enforceability of our intellectual property rights. Accordingly, we may not be able to prevent third parties from infringing upon or misappropriating our intellectual property. Our failure to secure, protect and enforce our intellectual property rights could adversely affect our business and operating results.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">45</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">We may be sued by third parties for alleged infringement of their proprietary rights, which could cause us to incur significant expenses and require us to pay substantial damages.</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%">Our success depends, in part, on our not infringing upon the intellectual property rights of others. Our competitors, as well as a number of other entities and individuals, may legally own or claim to own intellectual property relating to our technology or software solutions, including without limitation technology we develop and build internally and/or acquire. From time to time, our competitors or other third parties may claim that we are infringing upon their intellectual property rights. Any claims or litigation, regardless of merit, could cause us to incur significant expenses and, if successfully asserted against us, could require that we pay substantial damages, settlement costs or ongoing royalty payments, require that we comply with other unfavorable license and other terms, or prevent us from offering our software solutions in their current form. Even if the claims do not result in litigation or are resolved in our favor, these claims, and the time and resources necessary to resolve them, could divert the attention of our management and key personnel from our business operations and harm our operating results.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Our software solutions contain both third-party and open source software, which may pose risks to our proprietary source code and/or introduce security vulnerabilities, and could have a negative impact on our business and operating results.</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%">We use open source software in our software solutions and expect to continue to do so in the future. The terms of many open source licenses to which we are subject have not been interpreted by United States or foreign courts, and there is a risk that open source licenses could be construed in a manner that imposes unanticipated conditions, restrictions or costs on our ability to provide or distribute our software solutions. Additionally, we may from time to time face claims from third parties alleging ownership of, or demanding release of, the open source software or of derivative works that we developed using such software, which could include our proprietary source code, or otherwise seeking to enforce the terms of the applicable open source license. These claims could result in litigation, which could be costly for us to defend, and could require us to make our source code freely available, purchase a costly license or cease offering the implicated functionality unless and until we can re-engineer them to avoid infringement. This re-engineering process could require significant additional research and product development resources, and we may not be able to complete it successfully or in a timely manner. In addition to risks related to license requirements, usage of certain open source software can lead to greater risks than use of third-party commercial software, as open source licensors generally do not provide warranties or controls on the origin of software. We also use third-party commercial software in our software solutions and expect to continue to do so in the future. Third-party commercial software is developed outside of our direct control and may introduce security vulnerabilities that may be difficult to anticipate or mitigate. Further, there is no guarantee that third-party software developers or open source software providers will continue active work on the third-party software that we use. Should development of in-use third-party software cease, significant engineering effort may be required to create an in-house solution. These risks could also be difficult to eliminate or manage, and could have a negative impact on our business and operating results.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">There are risks associated with potential future indebtedness that may adversely affect our financial condition and future financing agreements may contain restrictive operating and financial covenants.</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%">We may incur additional indebtedness in the future and/or enter into new financing arrangements. Our ability to meet expenses, to remain in compliance with the covenants under any future debt instruments, and to pay fees, interest and principal on our indebtedness will depend on, among other things, our operating performance and market conditions. Accordingly, our cash flow may not be sufficient to allow us to pay principal and interest on future indebtedness and meet our other business and customer obligations.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Our ability to use our net operating loss carryforwards and certain other tax attributes may be limited.</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%">Under Section 382 of the Internal Revenue Code of 1986, as amended, if a corporation undergoes an &#8220;ownership change,&#8221; the corporation&#8217;s ability to use its pre-change net operating loss carryforwards and other pre-change tax attributes, such as research tax credits, to offset its post-change income and taxes may be limited. In general, an &#8220;ownership change&#8221; occurs if there is a cumulative change in our ownership by &#8220;5% shareholders&#8221; that exceeds 50% over a rolling three-year period. Similar rules may apply under state tax laws. It is possible that our existing net operating loss and/or credit carryforwards may be subject to limitations arising from previous ownership changes, and future issuances of our stock could cause an ownership change. Furthermore, our ability to utilize net operating loss and/or credit carryforwards of companies that we have acquired or may acquire in the future may be subject to limitations. There is also a risk that due to legislative changes, such as suspensions on the use of net operating loss carryforwards, or other unforeseen reasons, our existing net operating loss carryforwards could expire or otherwise be unavailable to offset future income tax liabilities. </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">46</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Our business may be adversely affected by developments in the global economy, including if we seek to expand our sales to customers outside of the United States. </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%">To date, we have realized an immaterial amount of revenue from customers outside the United States. We may nonetheless be affected by economic, regulatory or other developments in the global economy or particular countries, such as China, because certain of our customers&#8217; businesses may be based in or have significant ties to international jurisdictions. This may, for example, affect our ability to meet customer requirements in a cost-effective manner or the ability of our customers to expand their relationships with us. Furthermore, to the extent that we seek to expand our operations to international markets, such expansion will require significant resources and management attention and will subject us to additional regulatory, economic, geographic and political risks. Because of our limited experience with international operations and significant differences between the United States and international markets, any international expansion efforts may not be successful in creating demand for our software solutions outside of the United States or in effectively selling our software solutions in any international markets we may enter. The significant disruptions caused by the COVID-19 pandemic, especially in certain countries in the European Union and Asia, could have a prolonged negative impact on our ability to expand our sales to customers outside the United States. If we invest substantial time and resources to expand our international operations and are unable to do so successfully, our business and operating results could suffer.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Risks Related to Our Class A Common Stock</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">The market price of our Class A common stock may be volatile or may decline regardless of our operating performance, which could result in substantial losses for our stockholders.</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%">The market price of our Class A common stock has been, and is likely to continue to be, highly volatile, and fluctuations in the price of our Class A common stock could cause you to lose all or part of your investment. There are a wide variety of factors, many of which are outside our control, that could cause fluctuations in the market price of our Class A common stock and, in the past, following periods of volatility in the overall market and the market price of a particular company&#8217;s securities, securities class action litigation has often been instituted against these companies. If instituted against us, any such litigation, regardless of its merit or final outcome, could result in substantial costs and a diversion of our management&#8217;s attention, thereby adversely affecting our operating results and/or the price of our Class A common stock.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">The dual class structure of our common stock concentrates voting control with a limited number of stockholders, including our executive officers, directors and principal stockholders, effectively limiting your ability to influence corporate matters.</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:115%">Our Class B common stock has 10 votes per share, and our Class A common stock has one vote per share. As of June&#160;30, 2021, the holders of the outstanding shares of our Class B common stock, including our executive officers, directors, and principal stockholders, collectively held approximately 89% of the combined voting power of our outstanding capital stock. Because of the 10-to-1 voting ratio between our Class B common stock and Class A common stock, the holders of our Class B common stock collectively control a majority of the combined voting power of our outstanding capital stock and therefore control the election of a majority of our directors and thereby have the power to control our affairs and policies, including the appointment of management and strategic decisions, as well as matters that are submitted to a vote by our holders of our common stock.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:115%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">The interests of our principal stockholders may be inconsistent with or adverse to those of holders our Class A common stock. This concentrated control may also have the effect of delaying, deterring or preventing a change-in-control transaction, depriving our stockholders of an opportunity to receive a premium for their capital stock or negatively affecting the market price of our Class A common stock. In addition, transfers by holders of our Class B common stock will generally result in those shares converting to Class A common stock, subject to limited exceptions. The conversion of our Class B common stock to Class A common stock will have the effect, over time, of increasing the relative voting power of the holders of our Class B common stock who retain their shares over the long term.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">We cannot predict the impact that our capital structure may have on our stock price.</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%">S&amp;P Dow Jones, a provider of widely followed stock indices, has announced that companies with multiple classes of stock will not be eligible for inclusion in certain of their indices. As a result, our Class A common stock will not be eligible for those stock indices. Additionally, FTSE Russell, another provider of widely followed stock indices, requires new constituents of its indices to have at least five percent of their voting rights in the hands of public stockholders. Many investment funds are precluded from investing in companies that are not included in such indices, and these funds would be unable to purchase our Class A common stock. Exclusion from these and other indices could make our Class A common stock less attractive to investors and, as a result, the market price of our Class A common stock could be adversely affected. In addition, several shareholder advisory firms have announced their opposition to the use of multiple class structures. As a result, shareholder advisory firms may publish negative commentary about our corporate governance practices or otherwise seek to cause us to change our capital structure. Any actions or publications by shareholder advisory firms critical of our corporate governance practices or capital structure could also adversely affect the value of our Class A common stock.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">47</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Future sales of shares of our Class A common stock, or the perception that these sales could occur, could depress the market price of our Class A common stock.</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%">Sales of a substantial number of shares of our Class A common stock in the public market, or the perception that these sales might occur, could cause the market price of our Class A common stock to decline or make it more difficult for you to sell your Class A common stock at a time and price that you deem appropriate, and could impair our ability to raise capital through the sale of additional equity securities. We are unable to predict the effect that sales, or the perception that our shares may be available for sale, will have on the prevailing market price of our Class A common stock. As of June&#160;30, 2021, we had an aggregate of 1.0 million options outstanding that, if fully exercised, would result in the issuance of additional shares of Class A common stock or Class B common stock, as applicable. Our Class B common stock converts into Class A common stock on a one-for-one basis. In addition, as of June&#160;30, 2021, we had 0.5 million RSUs, outstanding which, if fully vested and settled in shares, would result in the issuance of additional shares of Class A common stock. All of the shares of Class A common stock issuable upon the exercise of options (or upon conversion of shares of Class B common stock issued upon the exercise of options), or upon the vesting and settlement of RSUs, have been registered for public resale under the Securities Act. Accordingly, these shares will be able to be freely sold in the public market upon issuance. In addition, certain holders of our Class A common stock and Class B common stock have rights, subject to certain conditions, to require us to file registration statements for the public resale of such shares (in the case of Class B common stock, the Class A common stock issuable upon conversion of such shares) or to include such shares in registration statements that we may file for us or other stockholders. Any sales of securities by these stockholders could have a material adverse effect on the market price of our Class A common stock.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">We do not expect to declare any dividends in the foreseeable future and may repurchase stock in accordance with our Share Repurchase Program.</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%">We have never declared, and we do not anticipate declaring or paying, any cash dividends to holders of our Class A common stock in the foreseeable future. In addition, the terms of our future borrowing arrangements we may enter into from time to time may restrict our ability to pay dividends. Consequently, investors may need to rely on sales of our Class A common stock after price appreciation, which may never occur, as the only way to realize any future gains on their investment. </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:115%">Price appreciation, which may never occur, may be further impacted by repurchases of our shares in accordance with our Share Repurchase Program. Repurchases of our shares could increase the volatility of the trading price of our shares, which could have a negative impact on the trading price of our shares. Similarly, the future announcement of the termination or suspension of the Share Repurchase Program, or our decision not to utilize the full authorized repurchase amount under the Share Repurchase Program, could result in a decrease in the trading price of our shares. In addition, the Share Repurchase Program could have the impact of diminishing our cash reserves, which may impact our ability to finance our growth, complete acquisitions and execute our strategic plan. For additional information regarding our Share Repurchase Program, refer to Note 10, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Share Repurchase Program</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">, of our Condensed Consolidated Financial Statements.</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">General Risk Factors</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Anti-takeover provisions contained in our amended and restated certificate of incorporation and amended and restated bylaws, as well as provisions of Delaware law, could impair a takeover attempt.</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%">Our amended and restated certificate of incorporation and our amended and restated bylaws contain provisions that could have the effect of rendering more difficult hostile takeovers, change-in-control transactions or changes in our Board of Directors or management. Among other things, these provisions authorize the issuance of preferred stock with powers, preferences and rights that may be senior to our common stock, provide for the adoption of a staggered three-class Board of Directors, prohibit our stockholders from filling vacancies on our Board of Directors or calling special stockholder meetings, require the vote of at least two-thirds of the combined voting power of our outstanding capital stock to approve amendments to our certificate of incorporation or bylaws, and require the approval of the holders of at least a majority of the outstanding shares of our Class B common stock voting as a separate class prior to consummating a change-in-control transaction. As a Delaware corporation, we are also subject to provisions of Delaware law, including Section 203 of the Delaware General Corporation Law, which may delay, deter or prevent a change-in-control transaction. Section 203 imposes certain restrictions on mergers, business combinations and other transactions between us and holders of 15% or more of our common stock. Any provision of Delaware law, our amended and restated certificate of incorporation, or our amended and restated bylaws that has the effect of rendering more difficult, delaying, deterring or preventing a change-in-control transaction could limit the opportunity for our stockholders to receive a premium for their shares of our capital stock and could also affect the price that some investors are willing to pay for our Class A common stock.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">48</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Government regulations and laws are continuously evolving and unfavorable changes could adversely affect our operating results, subject us to litigation or governmental investigation, or otherwise harm our business.</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%">We are subject to general business regulations and laws, as well as regulations and laws specifically governing the highly regulated real estate market, electronic payment, background screening, and insurance services markets, the Internet itself, the use of mobile devices to conduct business and communicate, and many other products and services we provide. It is not clear how existing laws governing issues such as property ownership, management, rental and investment, data protection, and personal privacy apply to the Internet, digital content, communication services, web services, and artificial intelligence technologies and services. Unfavorable regulations, laws, and administrative or judicial decisions interpreting or applying those laws and regulations could diminish the demand for, or availability of, our products and services, subject us to litigation or governmental investigation and increase our cost of doing business, any of which may adversely affect our operating results.    In addition, the application of federal, state, local and foreign tax laws to services provided electronically is continuously evolving. New income, sales, use or other tax laws, statutes, rules, regulations or ordinances could be enacted or amended at any time, possibly with retroactive effect, and could be applied solely or disproportionately to services provided over the Internet. These enactments or amendments could adversely affect our sales activity due to the inherent cost increase such taxes would represent and could ultimately result in a negative impact on our operating results. In addition, existing tax laws, statutes, rules, regulations or ordinances could be interpreted, modified or applied adversely to us, possibly with retroactive effect, which could require us or our customers to pay additional tax amounts, as well as require us or our customers to pay fines or penalties, as well as interest on past amounts. If we are unsuccessful in collecting such taxes due from our customers, we could be held liable for such costs, thereby adversely impacting our operating results.</span></div><div id="i33d2ee1a81324077be4958e6cee29b3d_118"></div><div style="-sec-extract:summary;margin-bottom:6pt;margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 6. Exhibits</span></div><div style="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:0.1%"></td><td style="width:1.996%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.684%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.117%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:86.603%"></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%">&#160;&#160;</span></td><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:700;line-height:100%">Exhibit<br/>Number</span></td><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%">&#160;&#160;</span></td><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:700;line-height:100%">Description of Document</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;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%">10.1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a642021exhibit101.htm">Separation Agreement and General Release, dated June 4, 2021, by and between Ida Kane and the registrant</a></span></div></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:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="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%">31.1</span></td><td colspan="3" style="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%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a63021exhibit311.htm">Certification of Chief Executive Officer pursuant to Rule 13a-14(a) or Rule 15d-14(a) promulgated under the Securities Exchange Act of 1934, as amended.</a></span></div></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:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="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%">31.2</span></td><td colspan="3" style="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%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a63021exhibit312.htm">Certification of Principal Financial Officer pursuant to Rule 13a-14(a) or Rule 15d-14(a) promulgated under the Securities Exchange Act of 1934, as amended.</a></span></div></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:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="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%">32.1*</span></td><td colspan="3" style="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%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a63021exhibit321.htm">Certifications of Chief Executive Officer and </a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a63021exhibit321.htm">Principal</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a63021exhibit321.htm"> Financial Officer, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</a></span></div></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:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="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%">101.INS</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inline XBRL Instance Document.</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:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="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%">101.SCH</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inline XBRL Taxonomy Extension Schema Document.</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:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="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%">101.CAL</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inline XBRL Taxonomy Extension Calculation Linkbase Document.</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:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="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%">101.DEF</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inline XBRL Taxonomy Extension Definition Linkbase Document.</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:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="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%">101.LAB</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inline XBRL Taxonomy Extension Label Linkbase Document.</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:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="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%">101.PRE</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inline XBRL Taxonomy Extension Presentation Linkbase Document.</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="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%">104</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cover Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101)</span></td></tr><tr style="height:36pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8224;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Schedules and exhibits have been omitted pursuant to Item 601(a)(5) of Regulation S-K. The registrant agrees to furnish supplementally a copy of any omitted schedule or exhibit to the U.S. Securities and Exchange Commission upon request.</span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="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%">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 &#8220;filed&#8221; 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&#8217;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.</span></td></tr></table></div><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">49</span></div></div></div><div id="i33d2ee1a81324077be4958e6cee29b3d_121"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i33d2ee1a81324077be4958e6cee29b3d_7">Table of Contents</a></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SIGNATURES</span></div><div style="margin-bottom:5pt;margin-top:5pt"><span><br/></span></div><div style="margin-bottom:5pt;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%">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. </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:5.195%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:28.768%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.024%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:35.356%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:21.157%"></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="6" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">AppFolio, Inc.</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:39pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date:</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">August 9, 2021</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By:</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Jason Randall</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><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:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Jason Randall</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><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:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chief Executive Officer</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><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:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(Principal Financial Officer)</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:26pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date:</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">August 9, 2021</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By:</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Ann Wilson</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><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:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ann Wilson</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><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:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vice President of Accounting</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><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:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(Principal Accounting Officer)</span></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="margin-bottom:5pt"><span><br/></span></div><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.1
<SEQUENCE>2
<FILENAME>a642021exhibit101.htm
<DESCRIPTION>EX-10.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2021 Workiva -->
<title>Document</title></head><body><div id="i839bd4ed0a0c4f7cb66f35dbb6feebcb_1"></div><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:6pt;text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">EXHIBIT 10.1</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">SEPARATION AGREEMENT AND GENERAL RELEASE</font></div><div style="text-align:center"><font><br></font></div><div style="margin-bottom:3pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">THIS SEPARATION AGREEMENT AND GENERAL RELEASE</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"> (hereinafter &#8220;Agreement&#8221;) is made and entered into by and between Ida Kane (hereinafter &#8220;Kane&#8221;) and AppFolio, Inc. (hereinafter &#8220;AppFolio&#8221;), (hereinafter collectively the &#8220;Parties&#8221; and individually &#8220;Party&#8221;).</font></div><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">RECITALS</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">WHEREAS,</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"> Kane has been employed by AppFolio as its Chief Financial Officer since approximately February 1, 2015&#59;</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">WHEREAS,</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"> Kane desires to leave her employment with AppFolio effective June 4, 2021 (hereinafter &#8220;Resignation Date&#8221;), and AppFolio has accepted her resignation effective that date&#59; and</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">WHEREAS,</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"> Kane and AppFolio desire to end their employment relationship on amicable terms in accordance with the terms and conditions set forth herein.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">NOW, THEREFORE</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">, for and in consideration of the execution of this Agreement and the mutual covenants contained in the following paragraphs, AppFolio and Kane agree as follows&#58;</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">1.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">Incorporation of Recitals</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">.  The Recitals and identification of the Parties to, and beneficiaries of, this Agreement are incorporated by reference as though fully set forth herein.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">2.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">No Admission of Liability</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">.  The Parties agree that this Agreement, and performance of the acts required by it, does not constitute an admission of liability, culpability, negligence or wrongdoing on the part of anyone, and will not be construed for any purpose as an admission of liability, culpability, negligence or wrongdoing by either Party and&#47;or by AppFolio current, former or future parents, subsidiaries, related entities, predecessors, successors, officers, directors, attorneys, insurers, indemnitees, shareholders, agents, employees and assigns.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">3.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">Final Paycheck and Expense Reimbursement</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">  AppFolio will deliver to Kane her final paycheck on the Resignation Date, an amount representing all unpaid salary earned through the Resignation Date, as well as a Short-Term Incentive Award at the Semi-Annual Target for the period of January 1 through June 30, 2021, which for the avoidance of doubt, is $217,500.00 in the aggregate, all less normal payroll withholdings and deductions, and pay her any reimbursable expenses due and owing consistent with AppFolio&#8217;s policy and past practice and submitted to AppFolio by Kane on a timely basis.  Kane will receive all the aforestated payments whether or not Kane signs this Agreement.  Kane acknowledges that, other than as provided herein, she is not entitled to any other payments, but for entering this Agreement.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">4.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">Separation Payments</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">.  In consideration for the general release and the covenants and other promises made by Kane in this Agreement, AppFolio agrees to pay Kane the following&#58;</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:91%">1</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:125%">5134183v5 &#47; 100382.0001 </font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">(a)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">the amount of $1,000,000.00 less normal payroll withholdings and deductions.  This amount will be paid to Kane&#8217;s bank account on file with AppFolio no later than fifteen days following her execution and return of the Agreement to AppFolio.  This payment will be reported to the IRS and other taxing authorities on a Form W-2 or other appropriate form.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">(b)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">if Kane timely elects to obtain continued group health insurance, the COBRA premium for any and all medical, dental, and vision care benefits in effect as of the Resignation Date, until the earlier of (a) the 18-month period ending December 31, 2022, or (b) the date on which Kane first becomes eligible to obtain group health insurance through another employer.  Thereafter, Kane may elect to obtain continued group health insurance at Kane&#8217;s own expense.  During the period the AppFolio-paid COBRA premium is in effect, AppFolio will also pay the premium to keep Kane&#8217;s life and AD&#38;D insurance coverage in effect&#59; and</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">(c)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">Kane&#8217;s broker fees for her exercise of her vested nonqualified stock options to a maximum of $10,000.00.  The Parties acknowledge this amount will be treated as a reimbursable out-of-pocket expense.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">5.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">Stock Options</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">.  In further consideration for the general release and covenants and other promises made by Kane in this Agreement, AppFolio agrees to extend the exercise period provided in the AppFolio 2015 Stock Incentive Plan for all of Kane&#8217;s vested nonqualified options from ninety days following the June 4, 2021 Resignation Date to January 6, 2023, subject to the provisions of Paragraph 4.7 of AppFolio&#8217;s 2015 Stock Incentive Plan.</font></div><div style="margin-bottom:12pt;padding-left:0.31pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">6.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">Exclusivity of Benefits</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">.  Except as expressly provided in Paragraphs 3 and 4 of this Agreement, Kane acknowledges that she has received all payments, including without limitation any wages and benefits owed to her by AppFolio, and understands that AppFolio is relying upon that acknowledgment in entering into this Agreement. Kane shall not be entitled to any additional payments or benefits, including, without limitation, under the Long-Term and Short-Term Cash Incentive Plans and Long-Term Equity Incentive Plans, in connection with her employment or the cessation thereof or under or in connection with any contract, agreement or understanding, written, oral or implied, between Kane and AppFolio.  Without limiting the foregoing, Kane also acknowledges that she shall not vest in or be eligible for any compensation other than as provided herein and her rights under any AppFolio retirement or welfare benefit plan shall be governed by the terms of those plans.</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:91%">2</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:125%">5134183v5 &#47; 100382.0001 </font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;padding-left:0.31pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">7.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">Mutual Release of Claims</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">.</font></div><div style="margin-bottom:12pt;padding-left:0.31pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">(a)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:400;line-height:120%">Kane&#8217;s General Release.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">  Kane for herself and her heirs, executors, administrators, assigns and successors does hereby release and forever discharge the &#8220;AppFolio Releasees&#8221; hereunder, consisting of AppFolio and each of its respective past and present employees, managers, officers, directors, shareholders, members, partners, associates, parents, subsidiaries, affiliates, successors, heirs, assigns, agents, representatives, lawyers, insurers, indemnitees, and all persons acting by, through, under or in concert with them, or any of them, including specifically, but without limitation, Investment Group of Santa Barbara, of and from any and all Claims, as defined in Paragraph 7(b).</font></div><div style="margin-bottom:12pt;padding-left:0.31pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">(b)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:400;line-height:120%">Claims Released</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">.  The &#8220;Claims&#8221; released herein include any and all manner of action or actions, cause or causes of action, in law or in equity, suits, debts, liens, contracts, agreements, promises, liability, claims, demands, damages, losses, costs, attorneys&#8217; fees or expenses, of any nature whatsoever, known or unknown, fixed or contingent, which the undersigned now has or may hereafter have against the AppFolio Releasees, or any of them, by reason of any matter, cause, or thing whatsoever from the beginning of time to the date hereof. Without limiting the generality of the foregoing, Claims shall include&#58; any claims in any way arising out of, based upon, or related to Kane&#8217;s employment by or service to AppFolio, or the cessation of that employment&#59; any claim for wages, salary, commissions, bonuses, fees, profit-sharing or incentive payments, including specifically, without limitation, under the Long Term and Short-Term Executive Cash Incentive Plans, the Long-Term Equity Incentive Plan, expense reimbursements, leave, vacation, severance pay or other benefits&#59; any alleged breach of any express or implied contract of employment&#59; any alleged torts, including without limitation, intentional interference with contractual relations or prospective advantage, intentional or negligent infliction of emotional distress and defamation, or other alleged legal restrictions on AppFolio Releasees&#8217; actions&#59; and any alleged violation of any federal, state or local statute or ordinance including, without limitation, Claims arising under&#58; Title VII of the Civil Rights Act of 1964, as amended by the Civil Rights Act of 1991, 42 U.S.C. &#167; 2000 et seq.&#59; Equal Pay Act, as amended, 29 U.S.C. &#167; 206(d)&#59; the Civil Rights Act of 1866, 42 U.S.C. &#167; 1981&#59; the Family and Medical Leave Act of 1993, 29 U.S.C. &#167; 2601 et seq.&#59; the Americans with Disabilities Act of 1990, 42 U.S.C. &#167; 12101 et seq.&#59; the False Claims Act, 31 U.S.C. &#167; 3729 et seq.&#59; the Employee Retirement Income Security Act, as amended, 29 U.S.C. &#167; 1001 et seq.&#59; the Worker Adjustment and Retraining Notification Act, as amended, 29 U.S.C. &#167; 2101 et seq.&#59; the Fair Labor Standards Act, 29 U.S.C. &#167; 215 et seq., the Sarbanes-Oxley Act of 2002&#59; the California Fair Employment and Housing Act, as amended, California Labor Code &#167; 12940 et seq.&#59; the California Equal Pay Law, as amended, California. Labor Code &#167;&#167; 1197.S(a), 1199.5&#59; the Moore-Brown-Roberti Family Rights Act of 1991, as amended, California Gov&#8217;t Code &#167;&#167; 12945.2, 19702.3&#59; California Labor Code &#167;&#167; 1101, 1102, 69 Ops. Cal. Atty. Gen. 80 (1986)&#59; California Labor Code &#167;&#167; 1102.5(a), (b)&#59; the California WARN Act, California Labor Code &#167; 1400 et seq.&#59; the California False Claims Act, California Gov&#8217;t Code &#167; 12650 et seq.&#59; the California Corporate Criminal Liability Act, California Penal Code &#167; 387&#59; the California Labor Code or any other federal, state or local law.  Notwithstanding the foregoing, nothing contained in this release shall purport to release any right that may not be released by private agreement.</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:91%">3</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:125%">5134183v5 &#47; 100382.0001 </font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;padding-left:0.31pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">(c)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:400;line-height:120%">AppFolio&#8217;s General Release.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">  AppFolio does hereby release and forever discharge Kane and her heirs, executors, administrators, assigns and successors, (&#8220;Kane Releasees&#8221;) of all claims, actions, causes of action, in law or in equity, suits, debts, liens, contracts, agreements, promises, liabilities, demands, damages, losses, costs, attorneys&#8217; fees or expenses of any nature, known or unknown, fixed or contingent, which AppFolio now has or may hereafter have against Kane Releasees, or any of them by reason of any matter, cause, or thing, whatsoever from the beginning of time to the date hereof, with the exception of claims relating to any unlawful act by Kane.  Notwithstanding the foregoing, nothing contained in this release shall purport to release any right that may not be released by private agreement.</font></div><div style="margin-bottom:12pt;padding-left:0.31pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">(d)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:400;line-height:120%">Unknown Claims</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">.  KANE AND APPFOLIO ACKNOWLEDGE THAT SHE AND IT ARE HEREBY ADVISED OF AND ARE FAMILIAR WITH THE PROVISIONS OF CALIFORNIA CIVIL CODE SECTION 1542, WHICH PROVIDES AS FOLLOWS&#58;</font></div><div style="margin-bottom:12pt;padding-left:67.5pt;padding-right:36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">&#8220;A GENERAL RELEASE DOES NOT EXTEND TO CLAIMS WHICH THE CREDITOR OR RELEASING PARTY DOES NOT KNOW OR SUSPECT TO EXIST IN HIS OR HER FAVOR AT THE TIME OF EXECUTING THE RELEASE, WHICH IF KNOWN BY HIM OR HER MUST HAVE MATERIALLY AFFECTED HIS OR HER SETTLEMENT WITH THE DEBTOR OR RELEASED PARTY.&#8221;</font></div><div style="margin-bottom:12pt;padding-left:0.31pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">KANE AND APPFOLIO BEING AWARE OF SAID CODE SECTION, HEREBY EXPRESSLY WAIVE ANY RIGHTS SHE AND IT MAY HAVE THEREUNDER, AS WELL AS UNDER ANY OTHER STATUTES OR COMMON LAW PRINCIPLES OF SIMILAR EFFECT.</font></div><div style="margin-bottom:12pt;padding-left:0.31pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">(e)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:400;line-height:120%">No Assignments of Claims</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">.  Kane represents and warrants that there has been no assignment or other transfer of any interest in any Claim that she may have against the AppFolio Releasees, or any of them, and Kane agrees to indemnify and hold harmless the AppFolio Releasees, and each of them, with respect to any liability, Claims, demands, damages, costs, expenses and attorneys&#8217; fees incurred by the AppFolio Releasees, or any of them, as the result of any such assignment or transfer or any rights or Claims under any such assignment or transfer.</font></div><div style="margin-bottom:12pt;padding-left:0.31pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">(f)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:400;line-height:120%">No Actions</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">.  Kane and AppFolio represent and warrant that there is no pending suit, charge, action, complaint or other legal proceeding by either of them against any of the AppFolio or Kane Releasees.  The Parties agree that if they hereafter commence any suit, charge, action, complaint or other legal proceeding arising out of, based upon, or relating to any of the claims released hereunder or in any manner assert against each Party&#8217;s Releasees, or any of them, any of the claims released hereunder, then such Party shall pay to the other Party&#8217;s Releasees, and each of them, in addition to any other damages caused to such Releasees thereby, all attorneys&#8217; fees incurred by the such Releasees in defending or otherwise responding to said suit or claim.  The foregoing shall not apply to Kane&#8217;s right to file a charge with the United States Equal Employment Opportunity Commission&#59; however, Kane hereby waives any right to any damages or individual relief resulting from any charge.</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:91%">4</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:125%">5134183v5 &#47; 100382.0001 </font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;padding-left:0.31pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">(g)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:400;line-height:120%">No Reliance</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">.  Each Party acknowledges that different or additional facts may be discovered in addition to what is now known or believed to be true by her or it with respect to the matters released in this Agreement, and they agree that this Agreement shall be and remain in effect in all respects as a complete and final release of the matters released, notwithstanding any different or additional facts.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">8.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">Release of ADEA Claims</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">  Kane acknowledges that she is knowingly and voluntarily waiving and releasing any rights she may have under the Age Discrimination in Employment Act (&#8220;ADEA&#8217;&#8217;), as amended.  Kane also acknowledges that the consideration given for the waiver and release in Paragraph 4 and 5 hereof is in addition to anything of value to which she was or is already entitled.  Kane further acknowledges that she has been advised by this writing, as required by the ADEA and the Older Workers&#8217; Benefit Protection Act, that&#58; (a) her waiver and release do not apply to any rights or claims that may arise after the execution date of this Agreement&#59; (b) she should consult with an attorney prior to executing this Agreement&#59; (c) she has twenty-one (21) days to consider this Agreement (although she may choose to voluntarily execute this Agreement earlier)&#59; (d) she has seven (7) days following the re-execution of this Agreement to revoke it&#59; (e) any revocation of this Agreement must be made in writing and delivered to Jason Randall, President and CEO, at the following email address&#58; </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline">jason.randall&#64;appfolio.com</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">, within the seven day period&#59; and (f) this Agreement will not be effective until the date upon which the revocation period has expired, which will be the eighth day after this Agreement is re-executed by Kane.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">9.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">Confidentiality</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">  Kane will not, directly or indirectly, provide to any person or entity any information that concerns or relates to the terms and conditions hereof, including statements misrepresenting the terms or conditions hereof, provided that Kane may make disclosure of the foregoing&#58; (i) to the extent that such disclosure is specifically required by law or legal process (including without limitation, reporting the Payment to any tax authority) or as authorized in writing by AppFolio&#59; (ii) to her tax advisor(s) or accountant(s) as may be necessary for the preparation of tax returns or other reports required by law&#59; and&#47;or (iii) to her attorney(s), provided that prior to disclosing any such information (except disclosures required by law or legal process or as authorized in writing), Kane will inform the recipients of the limitations of this Paragraph 9.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">This Agreement shall not prohibit Kane from reporting possible violations of federal or state laws or regulations to any federal or state governmental agency or entity, including, but not limited to, the Department of Justice, the Securities and Exchange Commission, Congress, and any agency Inspector General, or making other disclosures that are protected under the whistleblower provisions of federal or state laws or regulations.  Kane does not need the prior authorization from AppFolio or any affiliate thereof to make any such reports or disclosures and is not required to notify AppFolio that Kane has made any such reports or disclosures.</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:91%">5</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:125%">5134183v5 &#47; 100382.0001 </font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font><br></font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">10.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">Non-Disparagement</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">.</font></div><div style="margin-bottom:12pt;padding-left:0.31pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">(a)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">Kane shall not, verbally or in writing, disparage (or encourage or solicit others to disparage) AppFolio Releasees or any past or present (as of the time the Agreement is made) officer, director or employee of AppFolio who was employed during Kane&#8217;s period of employment with AppFolio, or otherwise make statements whether or not such statements are thought to be (or are) true, and whether or not such statements are made publicly, privately, subject to confidentiality obligations or otherwise which could tend to harm or injure the personal or business reputation or business, of AppFolio Releasees or of any past or present officer, director or employee of AppFolio who was employed during Kane&#8217;s period of employment with AppFolio, and whether or not such statements are made to any present or former employee or director of AppFolio or to someone outside of AppFolio&#59; provided, however, that such covenant shall not restrict Kane from providing information that she reasonably believes to be truthful to any government authority investigating Kane, AppFolio or AppFolio&#8217;s officers, directors or employees, or from providing testimony or other evidence pursuant to a subpoena or other order issued by a Court or agency of competent jurisdiction.</font></div><div style="margin-bottom:12pt;padding-left:0.31pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">(b)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">AppFolio&#8217;s directors and officers shall not verbally or in writing, disparage (or encourage or solicit others to disparage) Kane, or otherwise make statements whether or not such statements are thought to be (or are) true, and whether or not such statements are made publicly, privately, subject to confidentiality obligations or otherwise which could tend to harm or injure Kane&#8217;s personal or business reputation, and whether or not such statements are made to any present or former employee or director of AppFolio or to someone outside of AppFolio&#59; provided, however, that such covenant shall not restrict any of the individual directors or officers from providing information that they reasonably believe to be truthful to any government authority investigating Kane, AppFolio or AppFolio&#8217;s officers, directors or employees, or from providing testimony or other evidence pursuant to a subpoena or other order issued by a Court or agency of competent jurisdiction, or which is reasonably necessary to implement this Agreement.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">11.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">Non-Cooperation</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">.  </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">Kane shall not solicit or encourage any other person or entity to file or assert any Claims, or assist or cooperate with any person or entity filing or asserting any Claims, except to the extent specifically required by law or legal process.  Notwithstanding the foregoing, nothing contained in this Paragraph or this Agreement shall prohibit Kane from communicating directly with any law enforcement or regulatory or self-regulatory body.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">12.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">Return of AppFolio Property</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">.  </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">On or shortly after the Resignation Date, Kane will return all AppFolio property in her possession to AppFolio and will delete all AppFolio confidential information from any of her personal electronic devices and return to AppFolio all AppFolio confidential information she may have in hard copy.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">13.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">Insurance</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">.  </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">AppFolio represents and warrants that it has paid all premiums for all insurance policies in place affording coverage to Kane as of the Effective Date.  AppFolio further represents and warrants that it will either (a) continue to maintain all such policies with similar limits for a period of five years after the Effective Date or (b) ensure Kane is protected to </font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:91%">6</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:125%">5134183v5 &#47; 100382.0001 </font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">a similar extent and degree in the event that AppFolio elects not to maintain all or certain policies within five years of the Effective Date.</font></div><div style="margin-bottom:12pt;padding-left:72pt;text-align:justify;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">14.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">Dispute Resolution</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">(a)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">The Parties agree that all disputes in any way relating to or arising out of this Agreement, including, but not limited to, the interpretation, enforcement or implementation of this Agreement, including, but not limited, to the Agreement&#8217;s confidentiality provision (Paragraph 9) and non-disparagement provision (Paragraph 10), shall be finally determined by confidential arbitration administered by JAMS pursuant to the then applicable employment arbitration rules of JAMS (subject to the specific provisions of this Agreement) before a retired state or federal court judge provided by JAMS as the sole and exclusive remedy for resolving such disputes.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">(b)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">The Parties agree that in all proceedings under this Paragraph 14, (a) they shall be entitled to conduct such reasonable discovery as the arbitrator may allow&#59; (b) the arbitrator shall be entitled to award the full range of relief as would be available to the prevailing party in a court of law&#59; (c) the arbitrator shall determine the scope of his or her jurisdiction and all issues concerning the arbitrability of disputes&#59; (d) the arbitrator shall issue a reasoned decision&#59; and (e) the decision of the arbitrator shall be final and binding on each of the  parties.  The parties agree that any such arbitration shall take place in Santa Barbara County in the State of California.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">(c)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">The party initiating the arbitration shall pay the filing fee and the parties participating in the arbitration shall each pay a pro-rata portion of the arbitrator&#8217;s fee and administration fee, provided, however, that the arbitrator shall award to the prevailing party that party&#8217;s pro-rata share of the fees.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">(d)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">If any party to this Agreement brings a judicial action to enforce rights hereunder, such action shall be barred as a result of the exclusive remedy provided in this Paragraph 14, and the prevailing party in any such action, including with respect to seeking dismissal thereof, shall be entitled to recover its costs and expenses, including reasonable attorneys&#8217; fees, incurred in connection with such lawsuit.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">(e)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">THE PARTIES EACH ACKNOWLEDGE AND AGREE THAT BY SELECTING ARBITRATION AS THE SOLE AND EXCLUSIVE REMEDY FOR RESOLVING ALL DISPUTES AMONG THEM AS CONTEMPLATED BY THIS </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%;text-decoration:underline">PARAGRAPH 14</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">, THEY WILL NOT HAVE THEIR DISPUTES DETERMINED BY A JURY TRIAL TO WHICH THEY MAY OTHERWISE BE ENTITLED.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">15.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">Notices</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">  Any notice to be given hereunder shall be deemed sufficient if addressed in writing and delivered by certified mail to the addresses listed below&#58;</font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">If to AppFolio&#58;&#160;&#160;&#160;&#160;Jason Randall</font></div><div style="text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;President and CEO</font></div><div style="text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;AppFolio, Inc.</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:91%">7</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:125%">5134183v5 &#47; 100382.0001 </font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;50 Castilian Drive</font></div><div style="text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Santa Barbara, CA  93117</font></div><div style="text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Email&#58;</font><font style="color:#0094ff;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline"> jason.randall&#64;appfolio.com</font></div><div style="text-align:justify;text-indent:36pt"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">If to Kane&#58;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Ida Kane</font></div><div style="margin-bottom:0.12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#91;street address&#93;</font></div><div style="text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#91;city, state, zip code&#93;</font></div><div style="text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Email&#58; &#91;email address&#93;</font></div><div style="text-align:justify;text-indent:36pt"><font><br></font></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">Or, to such other address as either Party shall have furnished to the other in writing in accordance herewith.  Notice and communications shall be effective when actually received by the addressee.  Either Party may change the address for notice by sending written notice of a change of address to the other Party in accordance with this Paragraph 15.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">16.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">Severability</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">  If any term, provision, covenant or condition of this Agreement is held by a court of competent jurisdiction to exceed the limitations permitted by applicable law, as determined by such court in such action, then the provisions will be deemed reformed to apply to the maximum limitations permitted by applicable law, and the Parties hereby expressly acknowledge their desire that in such event such action be taken.  Notwithstanding the foregoing, the Parties further agree that if any term, provision, covenant or condition of this Agreement is held by a court of competent jurisdiction to be invalid, void or unenforceable, the remainder of the provisions shall remain in full force and effect and in no way shall be affected, impaired or invalidated.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">17.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">Governing Law</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">  This Agreement shall be governed by the laws of the State of California without regard to its conflict of laws rules.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">18.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">Headings</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">  The headings contained in this Agreement are provided for convenience only and are not part of the terms of this Agreement, and do not in any way limit, modify or alter the meaning of the terms of this Agreement.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">19.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">Acknowledgement</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">  Kane acknowledges that the payments and other benefits provided in Paragraphs 4 and 5 are consideration for Kane&#8217;s promises and covenants contained and affirmed in this Agreement, including, without limitation, her execution of the Release, and that such consideration is above and beyond any compensation to which she is entitled in connection with her employment or the cessation thereof, or under any contract or law.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">20.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">Agreement Jointly Drafted</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">  Should any provisions or terms of this Agreement or any Schedules hereto require interpretation by the court, it is agreed that the court shall not apply a presumption that the terms of this Agreement will be more strictly construed against one party because of that party&#8217;s role in drafting the documents. It is agreed that all Parties have participated in, and have been represented by counsel of their own choosing, in connection with the preparation and review of the Agreement.</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:91%">8</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:125%">5134183v5 &#47; 100382.0001 </font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">21.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">Attorneys&#8217; Fees</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">  The Parties shall bear their own attorneys&#8217; fees and expenses incurred in connection with the negotiation of and entry into this Agreement, and any Claims released.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">22.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">No Admissions</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">  By entering into this Agreement, no Party hereto is admitting any liability or wrongdoing whatsoever, nor does this Agreement constitute an admission of any fact, claim or allegation. This Agreement in no way implies the truth of any claim or allegation. Furthermore, this Agreement shall not be construed as an admission that any Party violated any order, law, statute, duty, contract or obligation.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">23.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">Entire Agreement&#59; Amendment</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">  This Agreement represents the entire agreement and understanding among the Parties concerning Kane&#8217;s employment and separation from AppFolio and, except as expressly set forth herein, supersedes and replaces any and all prior agreements and understandings concerning Kane&#8217;s relationship with AppFolio and her compensation from AppFolio. Notwithstanding the foregoing, this Agreement does not modify or supersede any Confidentiality Agreement executed by Kane in connection with her employment with AppFolio and that exists apart from this Agreement.  This Agreement may be amended only by a writing signed by both Kane and a duly authorized representative of AppFolio.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">24.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">Voluntary Execution of Agreement</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">  Kane acknowledges and agrees that she is executing this Agreement voluntarily and without any duress or undue influence on the part or behalf of AppFolio, with the full intent of releasing all Claims.  Kane further acknowledges and agrees that she has been represented in the preparation, negotiation and execution of this Agreement by legal counsel of her own choice.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"><br></font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">&#160;&#160;&#160;&#160;IN WITNESS WHEREOF</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">, the Parties have caused this Agreement to be executed as of the date first written above.</font></div><div style="margin-bottom:12pt;padding-left:252pt;text-indent:-252pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">IDA KANE</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">Dated&#58; </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%;text-decoration:underline">June 4, 2021&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%;text-decoration:underline">&#47;s&#47; Ida Kane&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font></div><div style="padding-left:162pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">Ida Kane</font></div><div><font><br></font></div><div><font><br></font></div><div style="margin-bottom:24pt;padding-left:252pt;text-indent:-252pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">APPFOLIO, INC.</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">Dated&#58;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%;text-decoration:underline"> June 4, 2021&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%;text-decoration:underline">&#47;s&#47; Jason Randall&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font></div><div style="padding-left:162pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">By&#58;  Jason Randall, President and CEO</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:91%">9</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:125%">5134183v5 &#47; 100382.0001 </font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>3
<FILENAME>a63021exhibit311.htm
<DESCRIPTION>EX-31.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2021 Workiva -->
<title>Document</title></head><body><div id="i04310e2aa4c74b41a79e1cdc096a5a0b_1"></div><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">EXHIBIT 31.1</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CERTIFICATION OF CHIEF EXECUTIVE OFFICER</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">I, Jason Randall, certify that&#58;</font></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:8.597%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:89.203%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">I have reviewed this Quarterly Report on Form 10-Q of AppFolio, Inc.&#59;</font></td></tr></table></div><div style="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:8.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:89.285%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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&#59;</font></td></tr></table></div><div style="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:8.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:89.285%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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&#59;</font></td></tr></table></div><div style="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:8.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:89.285%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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))&#160;for the registrant and have&#58;</font></td></tr></table></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.679%"><tr><td style="width:1.0%"></td><td style="width:14.334%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.562%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:78.804%"></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:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">a.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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&#59;</font></td></tr></table></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.679%"><tr><td style="width:1.0%"></td><td style="width:14.334%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.562%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:78.804%"></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:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">b.</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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&#59;</font></td></tr></table></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.679%"><tr><td style="width:1.0%"></td><td style="width:14.334%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.562%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:78.804%"></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:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">c.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Evaluated the effectiveness of the registrant&#8217;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&#59; and</font></td></tr></table></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.679%"><tr><td style="width:1.0%"></td><td style="width:14.334%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.562%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:78.804%"></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:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">d.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting&#59; and</font></td></tr></table></div><div style="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:8.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:89.285%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions)&#58;</font></td></tr></table></div><div style="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:14.284%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.547%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:78.869%"></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:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">a.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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&#8217;s ability to record, process, summarize and report financial information&#59; and</font></td></tr></table></div><div style="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:14.284%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.547%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:78.869%"></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:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">b.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</font></td></tr></table></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;</font></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.679%"><tr><td style="width:1.0%"></td><td style="width:5.170%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:43.112%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.729%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:46.489%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58; </font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">August 9, 2021</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; Jason Randall</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Jason Randall</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chief Executive Officer</font></td></tr></table></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>4
<FILENAME>a63021exhibit312.htm
<DESCRIPTION>EX-31.2
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2021 Workiva -->
<title>Document</title></head><body><div id="i31675143514342548fc6d72b0fadb142_1"></div><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">EXHIBIT 31.2</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CERTIFICATION OF PRINCIPAL FINANCIAL OFFICER</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div style="text-align:center"><font><br></font></div><div><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">I, Jason Randall, certify that&#58;</font></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:8.675%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:89.125%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">I have reviewed this Quarterly Report on Form 10-Q of AppFolio, Inc.&#59;</font></td></tr></table></div><div><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:8.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:89.285%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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&#59;</font></td></tr></table></div><div><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:8.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:89.285%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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&#59;</font></td></tr></table></div><div><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:8.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:89.285%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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&#58;<br></font><font style="font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><br></font></td></tr></table></div><div><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:14.235%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.852%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:78.613%"></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:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">a.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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&#59;</font></td></tr></table></div><div style="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:14.100%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.860%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:78.740%"></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:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">b.</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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&#59;<br></font></td></tr></table></div><div><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:14.235%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.852%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:78.613%"></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:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">c.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Evaluated the effectiveness of the registrant&#8217;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&#59; and</font></td></tr></table></div><div><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:14.235%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.852%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:78.613%"></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:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">d.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting&#59; and</font></td></tr></table></div><div><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:8.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:89.285%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions)&#58;</font></td></tr></table></div><div><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:14.284%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.669%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:77.747%"></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:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">a.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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&#8217;s ability to record, process, summarize and report financial information&#59; and</font></td></tr></table></div><div><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:14.284%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.669%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:77.747%"></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:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">b.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</font></td></tr></table></div><div><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:5.310%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:42.970%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.723%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:46.497%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">August 9, 2021</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; Jason Randall</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><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:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Jason Randall</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><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:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Principal Financial Officer</font></td></tr></table></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>5
<FILENAME>a63021exhibit321.htm
<DESCRIPTION>EX-32.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2021 Workiva -->
<title>Document</title></head><body><div id="ib093df8fcc57428c84c079a9b581f84c_1"></div><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div><font><br></font></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">EXHIBIT 32.1</font></div><div style="text-align:right"><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</font></div><div><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CERTIFICATIONS OF CHIEF EXECUTIVE OFFICER AND PRINCIPAL FINANCIAL OFFICER</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PURSUANT TO 18 U.S.C. SECTION 1350, </font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">AS ADOPTED PURSUANT TO SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div><font><br></font></div><div style="text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following certifications are hereby made in connection with the Quarterly Report on Form 10-Q of AppFolio, Inc. (the &#8220;Company&#8221;) for the period ended June&#160;30, 2021, as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;)&#58;</font></div><div style="text-align:justify;text-indent:36pt"><font><br></font></div><div style="text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">I, Jason Randall, 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&#160;the Company as of the dates and for the periods presented.</font></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:6.432%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:37.361%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.188%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:47.619%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">August 9, 2021</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By&#58;&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; Jason Randall</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Jason Randall</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">President and Chief Executive Officer</font></td></tr></table></div><div><font><br></font></div><div><font><br></font></div><div style="text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">I, Jason Randall, Principal 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&#160;the Company as of the dates and for the periods presented.</font></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:6.432%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:37.361%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.188%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:47.619%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">August 9, 2021</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By&#58;&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; Jason Randall</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Jason Randall</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Principal Financial Officer</font></td></tr></table></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>6
<FILENAME>appf-20210630.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2021 Workiva-->
<!--r:37da0c4e-e9f4-4889-837f-b75c37440ddd,g:52117fbf-c0b2-4806-85da-e7b4fd96bdf9-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:appf="http://www.appfolio.com/20210630" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.appfolio.com/20210630">
  <xs:import namespace="http://fasb.org/srt/2021-01-31" schemaLocation="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd"/>
  <xs:import namespace="http://fasb.org/us-gaap/2021-01-31" schemaLocation="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd"/>
  <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://www.xbrl.org/2003/xlink-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/dei/2021" schemaLocation="https://xbrl.sec.gov/dei/2021/dei-2021.xsd"/>
  <xs:annotation>
    <xs:appinfo>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="appf-20210630_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="appf-20210630_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="appf-20210630_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="appf-20210630_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple"/>
      <link:roleType id="CoverPage" roleURI="http://www.appfolio.com/role/CoverPage">
        <link:definition>0001001 - Document - Cover Page</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CondensedConsolidatedBalanceSheetsUnaudited" roleURI="http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited">
        <link:definition>1001002 - Statement - Condensed Consolidated Balance Sheets (Unaudited)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CondensedConsolidatedBalanceSheetsParenthetical" roleURI="http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsParenthetical">
        <link:definition>1002003 - Statement - Condensed Consolidated Balance Sheets (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CondensedConsolidatedStatementsofOperationsUnaudited" roleURI="http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited">
        <link:definition>1003004 - Statement - Condensed Consolidated Statements of Operations (Unaudited)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited" roleURI="http://www.appfolio.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited">
        <link:definition>1004005 - Statement - Condensed Consolidated Statements of Comprehensive Income (Unaudited)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CondensedConsolidatedStatementsofStockholdersEquityUnaudited" roleURI="http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited">
        <link:definition>1005006 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CondensedConsolidatedStatementsofCashFlowsUnaudited" roleURI="http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited">
        <link:definition>1006007 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NatureofBusiness" roleURI="http://www.appfolio.com/role/NatureofBusiness">
        <link:definition>2101101 - Disclosure - Nature of Business</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPolicies" roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPolicies">
        <link:definition>2102102 - Disclosure - Summary of Significant Accounting Policies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesPolicies" roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies">
        <link:definition>2203201 - Disclosure - Summary of Significant Accounting Policies (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesTables" roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesTables">
        <link:definition>2304301 - Disclosure - Summary of Significant Accounting Policies (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails" roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails">
        <link:definition>2405401 - Disclosure - Summary of Significant Accounting Policies - Net Income per Share Schedule of Weighted Average Number of Shares (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Divestitures" roleURI="http://www.appfolio.com/role/Divestitures">
        <link:definition>2106103 - Disclosure - Divestitures</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DivestituresNarrativeDetails" roleURI="http://www.appfolio.com/role/DivestituresNarrativeDetails">
        <link:definition>2407402 - Disclosure - Divestitures - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InvestmentSecuritiesandFairValueMeasurements" roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurements">
        <link:definition>2108104 - Disclosure - Investment Securities and Fair Value Measurements</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InvestmentSecuritiesandFairValueMeasurementsTables" roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables">
        <link:definition>2309302 - Disclosure - Investment Securities and Fair Value Measurements (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails" roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails">
        <link:definition>2410403 - Disclosure - Investment Securities and Fair Value Measurements - Schedule of Available-for-sale Securities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails" roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails">
        <link:definition>2411404 - Disclosure - Investment Securities and Fair Value Measurements - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails" roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails">
        <link:definition>2412405 - Disclosure - Investment Securities and Fair Value Measurements - Available-for-sale Investments, by Remaining Contract Maturity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails" roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails">
        <link:definition>2413406 - Disclosure - Investment Securities and Fair Value Measurements - Schedule of Sales, Calls and Maturities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails" roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails">
        <link:definition>2414407 - Disclosure - Investment Securities and Fair Value Measurements - Fair Value, Assets Measured on Recurring Basis (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CapitalizedSoftwareDevelopmentCostnet" roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnet">
        <link:definition>2115105 - Disclosure - Capitalized Software Development Cost, net</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CapitalizedSoftwareDevelopmentCostnetTables" roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetTables">
        <link:definition>2316303 - Disclosure - Capitalized Software Development Cost, net (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareDetails" roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareDetails">
        <link:definition>2417408 - Disclosure - Capitalized Software Development Cost, net - Capitalized Computer Software (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CapitalizedSoftwareDevelopmentCostnetNarrativeDetails" roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetNarrativeDetails">
        <link:definition>2418409 - Disclosure - Capitalized Software Development Cost, net - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails" roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails">
        <link:definition>2419410 - Disclosure - Capitalized Software Development Cost, net - Capitalized Computer Software Future Amortization Expense (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsnet" roleURI="http://www.appfolio.com/role/IntangibleAssetsnet">
        <link:definition>2120106 - Disclosure - Intangible Assets, net</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsnetTables" roleURI="http://www.appfolio.com/role/IntangibleAssetsnetTables">
        <link:definition>2321304 - Disclosure - Intangible Assets, net (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails" roleURI="http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails">
        <link:definition>2422411 - Disclosure - Intangible Assets, net - Schedule of Finite-Lived Intangible Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails" roleURI="http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails">
        <link:definition>2423412 - Disclosure - Intangible Assets, net - Schedule of Finite-Lived Intangible Assets, Future Amortization Expense (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccruedEmployeeExpenses" roleURI="http://www.appfolio.com/role/AccruedEmployeeExpenses">
        <link:definition>2124107 - Disclosure - Accrued Employee Expenses</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccruedEmployeeExpensesTables" roleURI="http://www.appfolio.com/role/AccruedEmployeeExpensesTables">
        <link:definition>2325305 - Disclosure - Accrued Employee Expenses (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccruedEmployeeExpensesDetails" roleURI="http://www.appfolio.com/role/AccruedEmployeeExpensesDetails">
        <link:definition>2426413 - Disclosure - Accrued Employee Expenses (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccruedEmployeeExpensesNarrativeDetails" roleURI="http://www.appfolio.com/role/AccruedEmployeeExpensesNarrativeDetails">
        <link:definition>2427414 - Disclosure - Accrued Employee Expenses - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Leases" roleURI="http://www.appfolio.com/role/Leases">
        <link:definition>2128108 - Disclosure - Leases</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesTables" roleURI="http://www.appfolio.com/role/LeasesTables">
        <link:definition>2329306 - Disclosure - Leases (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesNarrativeDetails" roleURI="http://www.appfolio.com/role/LeasesNarrativeDetails">
        <link:definition>2430415 - Disclosure - Leases - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesScheduleofComponentsofLeaseExpenseDetails" roleURI="http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseExpenseDetails">
        <link:definition>2431416 - Disclosure - Leases - Schedule of Components of Lease Expense (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesLeaseRelatedAssetsandLiabilitiesDetails" roleURI="http://www.appfolio.com/role/LeasesLeaseRelatedAssetsandLiabilitiesDetails">
        <link:definition>2432417 - Disclosure - Leases - Lease Related Assets and Liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails" roleURI="http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails">
        <link:definition>2433418 - Disclosure - Leases - Schedule of Minimum Lease Payments Under Leases (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails_1" roleURI="http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails_1">
        <link:definition>2433418 - Disclosure - Leases - Schedule of Minimum Lease Payments Under Leases (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentsandContingencies" roleURI="http://www.appfolio.com/role/CommitmentsandContingencies">
        <link:definition>2134109 - Disclosure - Commitments and Contingencies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentsandContingenciesDetails" roleURI="http://www.appfolio.com/role/CommitmentsandContingenciesDetails">
        <link:definition>2435419 - Disclosure - Commitments and Contingencies (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ShareRepurchaseProgram" roleURI="http://www.appfolio.com/role/ShareRepurchaseProgram">
        <link:definition>2136110 - Disclosure - Share Repurchase Program</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ShareRepurchaseProgramDetails" roleURI="http://www.appfolio.com/role/ShareRepurchaseProgramDetails">
        <link:definition>2437420 - Disclosure - Share Repurchase Program (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensation" roleURI="http://www.appfolio.com/role/StockBasedCompensation">
        <link:definition>2138111 - Disclosure - Stock-Based Compensation</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationTables" roleURI="http://www.appfolio.com/role/StockBasedCompensationTables">
        <link:definition>2339307 - Disclosure - Stock-Based Compensation (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationStockOptionActivityDetails" roleURI="http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails">
        <link:definition>2440421 - Disclosure - Stock-Based Compensation - Stock Option Activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationRestrictedStockUnitsActivityDetails" roleURI="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails">
        <link:definition>2441422 - Disclosure - Stock-Based Compensation - Restricted Stock Units Activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationRestrictedStockUnitsDetails" roleURI="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails">
        <link:definition>2442423 - Disclosure - Stock-Based Compensation - Restricted Stock Units (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationRestrictedStockAwardsDetails" roleURI="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails">
        <link:definition>2443424 - Disclosure - Stock-Based Compensation - Restricted Stock Awards (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxes" roleURI="http://www.appfolio.com/role/IncomeTaxes">
        <link:definition>2144112 - Disclosure - Income Taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesDetails" roleURI="http://www.appfolio.com/role/IncomeTaxesDetails">
        <link:definition>2445425 - Disclosure - Income Taxes (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueandOtherInformation" roleURI="http://www.appfolio.com/role/RevenueandOtherInformation">
        <link:definition>2146113 - Disclosure - Revenue and Other Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueandOtherInformationTables" roleURI="http://www.appfolio.com/role/RevenueandOtherInformationTables">
        <link:definition>2347308 - Disclosure - Revenue and Other Information (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueandOtherInformationDetails" roleURI="http://www.appfolio.com/role/RevenueandOtherInformationDetails">
        <link:definition>2448426 - Disclosure - Revenue and Other Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
    </xs:appinfo>
  </xs:annotation>
  <xs:element id="appf_PerformanceStockUnitsMember" abstract="true" name="PerformanceStockUnitsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment" abstract="false" name="DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_PerformanceStockUnitsGrantedin2019Member" abstract="true" name="PerformanceStockUnitsGrantedin2019Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="appf_IncreaseDecreaseInOperatingLeases" abstract="false" name="IncreaseDecreaseInOperatingLeases" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric" abstract="false" name="SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="appf_A2021ThreeYearPlanMember" abstract="true" name="A2021ThreeYearPlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="appf_OtherServicesMember" abstract="true" name="OtherServicesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="appf_RestrictedStockUnitsAndPerformanceStockUnitsMember" abstract="true" name="RestrictedStockUnitsAndPerformanceStockUnitsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock" abstract="false" name="ScheduleOfAccruedEmployeeExpensesTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType"/>
  <xs:element id="appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware" abstract="false" name="DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_PerformanceStockUnitsGrantedIn2021Member" abstract="true" name="PerformanceStockUnitsGrantedIn2021Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock" abstract="false" name="ScheduleOfCapitalizedComputerSoftwareTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType"/>
  <xs:element id="appf_LesseeOperatingLeaseTenantAllowanceYearTwo" abstract="false" name="LesseeOperatingLeaseTenantAllowanceYearTwo" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent" abstract="false" name="SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="appf_LesseeOperatingLeaseTenantAllowanceYearThree" abstract="false" name="LesseeOperatingLeaseTenantAllowanceYearThree" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock" abstract="false" name="ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType"/>
  <xs:element id="appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit" abstract="false" name="PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_TechnologyMember" abstract="true" name="TechnologyMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock" abstract="false" name="InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType"/>
  <xs:element id="appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" abstract="false" name="SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="appf_ValuePlusServicesMember" abstract="true" name="ValuePlusServicesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="appf_AmortizationOfOperatingLeaseRightOfUseAssets" abstract="false" name="AmortizationOfOperatingLeaseRightOfUseAssets" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_LesseeOperatingLeaseTenantAllowanceYearOne" abstract="false" name="LesseeOperatingLeaseTenantAllowanceYearOne" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" abstract="false" name="LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo" abstract="false" name="CapitalizedComputerSoftwareAmortizationExpenseYearTwo" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_DatabaseMember" abstract="true" name="DatabaseMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings" abstract="false" name="RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="appf_MyCaseMember" abstract="true" name="MyCaseMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="appf_LesseeOperatingLeaseTenantAllowanceRemainderOfFiscalYear" abstract="false" name="LesseeOperatingLeaseTenantAllowanceRemainderOfFiscalYear" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod" abstract="false" name="DisposalGroupIncludingDiscontinuedOperationRetentionPeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices" abstract="false" name="PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_CoreSolutionsMember" abstract="true" name="CoreSolutionsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets" abstract="false" name="ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid" abstract="false" name="CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion" abstract="false" name="LesseeOperatingLeaseLiabilityNetOfCurrentPortion" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne" abstract="false" name="CapitalizedComputerSoftwareAmortizationExpenseYearOne" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_PerformanceStockUnitsGrantedIn2020Member" abstract="true" name="PerformanceStockUnitsGrantedIn2020Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="appf_IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent" abstract="false" name="IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" abstract="false" name="RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree" abstract="false" name="CapitalizedComputerSoftwareAmortizationExpenseYearThree" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" abstract="false" name="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets" abstract="false" name="OperatingLeasePrepaidExpensesAndOtherCurrentAssets" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_PerformanceStockUnitsGrantedin2018Member" abstract="true" name="PerformanceStockUnitsGrantedin2018Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="appf_NoncashOrPartNoncashDivestitureAdjustmentToConsideration" abstract="false" name="NoncashOrPartNoncashDivestitureAdjustmentToConsideration" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases" abstract="false" name="StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="appf_AvailableForSaleSecuritiesMaximumContractualMaturity" abstract="false" name="AvailableForSaleSecuritiesMaximumContractualMaturity" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts" abstract="false" name="DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear" abstract="false" name="CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_PartnerRelationshipsMember" abstract="true" name="PartnerRelationshipsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="appf_EmployeeRelatedLiabilitiesNoncurrent" abstract="false" name="EmployeeRelatedLiabilitiesNoncurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_PerformanceStockUnitsGrantedin2019and2018Member" abstract="true" name="PerformanceStockUnitsGrantedin2019and2018Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>7
<FILENAME>appf-20210630_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2021 Workiva-->
<!--r:37da0c4e-e9f4-4889-837f-b75c37440ddd,g:52117fbf-c0b2-4806-85da-e7b4fd96bdf9-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited" xlink:type="simple" xlink:href="appf-20210630.xsd#CondensedConsolidatedBalanceSheetsUnaudited"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_49fd9bbc-403b-490b-84e2-fa0292d1dbea" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_0f9e8cfe-4d19-447e-89c4-5dfd58f35528" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_49fd9bbc-403b-490b-84e2-fa0292d1dbea" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_0f9e8cfe-4d19-447e-89c4-5dfd58f35528" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_1913eade-61ae-4606-9a64-04601f9f9535" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_49fd9bbc-403b-490b-84e2-fa0292d1dbea" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_1913eade-61ae-4606-9a64-04601f9f9535" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxesPayableCurrent_e6a3e01c-ae2e-49f0-b153-7961bea8bab4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TaxesPayableCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_49fd9bbc-403b-490b-84e2-fa0292d1dbea" xlink:to="loc_us-gaap_TaxesPayableCurrent_e6a3e01c-ae2e-49f0-b153-7961bea8bab4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesCurrent_03a3512e-f253-47b9-b1b6-625f61bae975" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherLiabilitiesCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_49fd9bbc-403b-490b-84e2-fa0292d1dbea" xlink:to="loc_us-gaap_OtherLiabilitiesCurrent_03a3512e-f253-47b9-b1b6-625f61bae975" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_fb54be21-1011-40be-a0ad-aa8e9265d872" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_49fd9bbc-403b-490b-84e2-fa0292d1dbea" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_fb54be21-1011-40be-a0ad-aa8e9265d872" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_ddfc7ca6-e5e9-4ca2-90cc-6f3493da142b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_49fd9bbc-403b-490b-84e2-fa0292d1dbea" xlink:to="loc_us-gaap_AccountsPayableCurrent_ddfc7ca6-e5e9-4ca2-90cc-6f3493da142b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_e48223aa-7aa2-44a1-acf0-3eb50ad1acbe" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_c1fc1448-1611-43dd-b8de-8aba90e425d9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Liabilities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_e48223aa-7aa2-44a1-acf0-3eb50ad1acbe" xlink:to="loc_us-gaap_Liabilities_c1fc1448-1611-43dd-b8de-8aba90e425d9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingencies_ee663c13-bb05-4263-ae0f-c262d32a3122" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingencies"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_e48223aa-7aa2-44a1-acf0-3eb50ad1acbe" xlink:to="loc_us-gaap_CommitmentsAndContingencies_ee663c13-bb05-4263-ae0f-c262d32a3122" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_2fa28535-e2fe-45ee-9736-d8ffdcc22481" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_e48223aa-7aa2-44a1-acf0-3eb50ad1acbe" xlink:to="loc_us-gaap_StockholdersEquity_2fa28535-e2fe-45ee-9736-d8ffdcc22481" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_bfbcd702-e06f-4754-82f6-96a399cd541d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital_34024194-0865-4238-a7d9-70a8bbd0006a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapital"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_bfbcd702-e06f-4754-82f6-96a399cd541d" xlink:to="loc_us-gaap_AdditionalPaidInCapital_34024194-0865-4238-a7d9-70a8bbd0006a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_513f92a5-0588-4494-bc60-9ea528920d8d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_bfbcd702-e06f-4754-82f6-96a399cd541d" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_513f92a5-0588-4494-bc60-9ea528920d8d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_46e71c8c-05f9-4559-82b5-fa80ca6bf99c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_bfbcd702-e06f-4754-82f6-96a399cd541d" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_46e71c8c-05f9-4559-82b5-fa80ca6bf99c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue_25de824c-e7b0-4667-97ff-f870c4bc0d21" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockValue"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_bfbcd702-e06f-4754-82f6-96a399cd541d" xlink:to="loc_us-gaap_PreferredStockValue_25de824c-e7b0-4667-97ff-f870c4bc0d21" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValue_8280581a-b11c-46e1-b11d-ca4cd48fdd3f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockValue"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_bfbcd702-e06f-4754-82f6-96a399cd541d" xlink:to="loc_us-gaap_TreasuryStockValue_8280581a-b11c-46e1-b11d-ca4cd48fdd3f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_d691423e-db15-4711-aa3d-edc665510d57" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockValue"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_bfbcd702-e06f-4754-82f6-96a399cd541d" xlink:to="loc_us-gaap_CommonStockValue_d691423e-db15-4711-aa3d-edc665510d57" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_5090eee3-5f53-4092-be36-30e1b2334108" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_f878556b-5cb9-4f74-a960-6161bfbbec28" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_5090eee3-5f53-4092-be36-30e1b2334108" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_f878556b-5cb9-4f74-a960-6161bfbbec28" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_8801bfe0-6f04-4198-bf8f-ad3cfe782844" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_5090eee3-5f53-4092-be36-30e1b2334108" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_8801bfe0-6f04-4198-bf8f-ad3cfe782844" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_d6594972-d4e7-45c8-b44f-640296cdec79" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_5090eee3-5f53-4092-be36-30e1b2334108" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_d6594972-d4e7-45c8-b44f-640296cdec79" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_e9a9bce5-d3cb-4d87-85c6-5d7768b57dab" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_5090eee3-5f53-4092-be36-30e1b2334108" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_e9a9bce5-d3cb-4d87-85c6-5d7768b57dab" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_e1bb78e9-a0e9-4f01-8bb6-58ee680f0e59" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Liabilities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_efe7e607-2ec9-4bc2-8a60-5aab78703324" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_e1bb78e9-a0e9-4f01-8bb6-58ee680f0e59" xlink:to="loc_us-gaap_LiabilitiesCurrent_efe7e607-2ec9-4bc2-8a60-5aab78703324" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_563918d8-ea7b-4add-9a31-c280fa47c47b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_e1bb78e9-a0e9-4f01-8bb6-58ee680f0e59" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_563918d8-ea7b-4add-9a31-c280fa47c47b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent_cbaef109-221e-4b1b-8f82-085e79f94f4a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_e1bb78e9-a0e9-4f01-8bb6-58ee680f0e59" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent_cbaef109-221e-4b1b-8f82-085e79f94f4a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_18c9f406-afb8-45fb-a3de-1b00801ca2e8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_e1bb78e9-a0e9-4f01-8bb6-58ee680f0e59" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_18c9f406-afb8-45fb-a3de-1b00801ca2e8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_995f23b7-7ead-4694-addb-f8035f19d7dd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Assets"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_b7a477ab-75ec-4fd2-a112-a191a4699f86" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_995f23b7-7ead-4694-addb-f8035f19d7dd" xlink:to="loc_us-gaap_AssetsCurrent_b7a477ab-75ec-4fd2-a112-a191a4699f86" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_f17f4cb9-3af1-4dd1-93dc-2830850b4acb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_995f23b7-7ead-4694-addb-f8035f19d7dd" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_f17f4cb9-3af1-4dd1-93dc-2830850b4acb" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_273939f2-bcb8-4865-8039-682874d80d0e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_995f23b7-7ead-4694-addb-f8035f19d7dd" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_273939f2-bcb8-4865-8039-682874d80d0e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareNet_094cd5c2-95d5-4171-886a-690ad537a77c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareNet"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_995f23b7-7ead-4694-addb-f8035f19d7dd" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareNet_094cd5c2-95d5-4171-886a-690ad537a77c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_2dcebc9f-d26b-4546-a4fb-27e5cbc7ebcd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_995f23b7-7ead-4694-addb-f8035f19d7dd" xlink:to="loc_us-gaap_Goodwill_2dcebc9f-d26b-4546-a4fb-27e5cbc7ebcd" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_1a8f33d3-deac-4e8f-9838-11ac88da1699" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_995f23b7-7ead-4694-addb-f8035f19d7dd" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_1a8f33d3-deac-4e8f-9838-11ac88da1699" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_08cbc4db-4cbd-4bd0-8be2-b963658bf69d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_995f23b7-7ead-4694-addb-f8035f19d7dd" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_08cbc4db-4cbd-4bd0-8be2-b963658bf69d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_319c3633-3dee-42ea-8f41-5560ec31b0cc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_995f23b7-7ead-4694-addb-f8035f19d7dd" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_319c3633-3dee-42ea-8f41-5560ec31b0cc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet_34f2a534-86be-42e7-b569-6a7f434f168c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_995f23b7-7ead-4694-addb-f8035f19d7dd" xlink:to="loc_us-gaap_DeferredIncomeTaxAssetsNet_34f2a534-86be-42e7-b569-6a7f434f168c" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" xlink:type="simple" xlink:href="appf-20210630.xsd#CondensedConsolidatedStatementsofOperationsUnaudited"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_d5b0c17d-5a25-4188-aec2-1ebfb2aad475" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_7b424e22-95f0-4639-8fd0-4c53934c3650" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_d5b0c17d-5a25-4188-aec2-1ebfb2aad475" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_7b424e22-95f0-4639-8fd0-4c53934c3650" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_901a932f-04c4-4ef9-8a37-886f836db907" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_d5b0c17d-5a25-4188-aec2-1ebfb2aad475" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_901a932f-04c4-4ef9-8a37-886f836db907" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostsAndExpenses_f73cd378-c55a-4766-b150-bac00bc1ef82" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostsAndExpenses"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_ac3817a9-aece-422a-93cf-d1a3bea91c1d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CostsAndExpenses_f73cd378-c55a-4766-b150-bac00bc1ef82" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_ac3817a9-aece-422a-93cf-d1a3bea91c1d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpense_cfe73e4d-f058-43f8-bb76-02062fb9e28e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingAndMarketingExpense"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CostsAndExpenses_f73cd378-c55a-4766-b150-bac00bc1ef82" xlink:to="loc_us-gaap_SellingAndMarketingExpense_cfe73e4d-f058-43f8-bb76-02062fb9e28e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_e8fc279d-57d7-4c2e-ae33-c8e7d554b471" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CostsAndExpenses_f73cd378-c55a-4766-b150-bac00bc1ef82" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_e8fc279d-57d7-4c2e-ae33-c8e7d554b471" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense_e06939ad-c405-4193-b94c-b7f755d5a4c2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CostsAndExpenses_f73cd378-c55a-4766-b150-bac00bc1ef82" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpense_e06939ad-c405-4193-b94c-b7f755d5a4c2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization_766bcd59-9f9e-433d-ab6b-f422388ff142" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CostsAndExpenses_f73cd378-c55a-4766-b150-bac00bc1ef82" xlink:to="loc_us-gaap_DepreciationDepletionAndAmortization_766bcd59-9f9e-433d-ab6b-f422388ff142" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_0d17bd89-7ad0-4c35-b194-e5c5fda6144d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostsAndExpenses_c6f8c2bd-d2f7-4817-adf6-0fbaaae178a9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostsAndExpenses"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_0d17bd89-7ad0-4c35-b194-e5c5fda6144d" xlink:to="loc_us-gaap_CostsAndExpenses_c6f8c2bd-d2f7-4817-adf6-0fbaaae178a9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_415ae8a1-c5ad-4695-b25d-2b43b6eddf07" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_0d17bd89-7ad0-4c35-b194-e5c5fda6144d" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_415ae8a1-c5ad-4695-b25d-2b43b6eddf07" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_5daf5968-6b14-467e-bce4-8e8984ff5a39" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_1ce4227b-dd39-4da8-8755-b57d7ddfb861" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_5daf5968-6b14-467e-bce4-8e8984ff5a39" xlink:to="loc_us-gaap_OperatingIncomeLoss_1ce4227b-dd39-4da8-8755-b57d7ddfb861" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_6a95bbf5-a058-4a09-9f61-20b38412c903" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_5daf5968-6b14-467e-bce4-8e8984ff5a39" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_6a95bbf5-a058-4a09-9f61-20b38412c903" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNet_7e57576e-dbeb-48b6-b2da-23d12689a424" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestIncomeExpenseNet"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_5daf5968-6b14-467e-bce4-8e8984ff5a39" xlink:to="loc_us-gaap_InterestIncomeExpenseNet_7e57576e-dbeb-48b6-b2da-23d12689a424" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited" xlink:type="simple" xlink:href="appf-20210630.xsd#CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_f284ff17-2e8c-4015-a31b-fc98cd606e2e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_93103c86-2aca-48f3-9eef-2aa990216ef2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_f284ff17-2e8c-4015-a31b-fc98cd606e2e" xlink:to="loc_us-gaap_NetIncomeLoss_93103c86-2aca-48f3-9eef-2aa990216ef2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_9f689c8e-bd21-4230-9fc9-7c504bcb5529" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_f284ff17-2e8c-4015-a31b-fc98cd606e2e" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_9f689c8e-bd21-4230-9fc9-7c504bcb5529" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" xlink:type="simple" xlink:href="appf-20210630.xsd#CondensedConsolidatedStatementsofCashFlowsUnaudited"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_e7b676df-7d9f-4156-81f2-a64e4f262929" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_c0fdcb3a-7428-4b9e-8830-12263f081a33" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_e7b676df-7d9f-4156-81f2-a64e4f262929" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_c0fdcb3a-7428-4b9e-8830-12263f081a33" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_973d4b86-f18d-4c8a-ae5c-09b97c5231a8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_e7b676df-7d9f-4156-81f2-a64e4f262929" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_973d4b86-f18d-4c8a-ae5c-09b97c5231a8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_e7fb3317-2995-4587-b1fb-fe325bd3012c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_e7b676df-7d9f-4156-81f2-a64e4f262929" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_e7fb3317-2995-4587-b1fb-fe325bd3012c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_0f5435c7-f385-4e2b-a2f4-08baa593cb70" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_9044bef0-5a2a-4fda-b1ea-0c508fe88a61" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_0f5435c7-f385-4e2b-a2f4-08baa593cb70" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_9044bef0-5a2a-4fda-b1ea-0c508fe88a61" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToDevelopSoftware_276f2f6c-1eaa-4b00-abb0-b94b939b8a0c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToDevelopSoftware"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_0f5435c7-f385-4e2b-a2f4-08baa593cb70" xlink:to="loc_us-gaap_PaymentsToDevelopSoftware_276f2f6c-1eaa-4b00-abb0-b94b939b8a0c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_b61748cb-6bc9-472c-90c1-0e5cea206257" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_0f5435c7-f385-4e2b-a2f4-08baa593cb70" xlink:to="loc_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_b61748cb-6bc9-472c-90c1-0e5cea206257" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_afb9e630-81af-403d-bc18-891bbad60d21" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_0f5435c7-f385-4e2b-a2f4-08baa593cb70" xlink:to="loc_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_afb9e630-81af-403d-bc18-891bbad60d21" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_79812958-2ea9-4706-a684-f119eab24da6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_0f5435c7-f385-4e2b-a2f4-08baa593cb70" xlink:to="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_79812958-2ea9-4706-a684-f119eab24da6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_99f219c0-2495-4c96-a8fe-3a66702cd302" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_d056847b-41bb-40b5-b7c9-1fc335f02eb3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_99f219c0-2495-4c96-a8fe-3a66702cd302" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_d056847b-41bb-40b5-b7c9-1fc335f02eb3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalents_0da6a6af-eb4a-4067-8194-13507860860d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalents"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_99f219c0-2495-4c96-a8fe-3a66702cd302" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalents_0da6a6af-eb4a-4067-8194-13507860860d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_8f2768e7-8489-4e42-b5e4-c713408dfc51" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_AmortizationOfOperatingLeaseRightOfUseAssets_1bf8150c-1fd5-4123-b92a-4025ef7eade8" xlink:href="appf-20210630.xsd#appf_AmortizationOfOperatingLeaseRightOfUseAssets"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_8f2768e7-8489-4e42-b5e4-c713408dfc51" xlink:to="loc_appf_AmortizationOfOperatingLeaseRightOfUseAssets_1bf8150c-1fd5-4123-b92a-4025ef7eade8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_85125743-fbfe-4ea6-846d-5cebaaa47296" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_8f2768e7-8489-4e42-b5e4-c713408dfc51" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_85125743-fbfe-4ea6-846d-5cebaaa47296" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts_43c15de3-6971-4476-9d98-50e02a2a9ef3" xlink:href="appf-20210630.xsd#appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_8f2768e7-8489-4e42-b5e4-c713408dfc51" xlink:to="loc_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts_43c15de3-6971-4476-9d98-50e02a2a9ef3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_599d2cee-ecad-4756-85ed-19a2cf590a40" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_8f2768e7-8489-4e42-b5e4-c713408dfc51" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_599d2cee-ecad-4756-85ed-19a2cf590a40" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_67d04830-0bd5-4f67-910e-38d344211b3c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_8f2768e7-8489-4e42-b5e4-c713408dfc51" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_67d04830-0bd5-4f67-910e-38d344211b3c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_IncreaseDecreaseInOperatingLeases_6a1b08aa-a401-4be7-bc81-3edb6baa18c6" xlink:href="appf-20210630.xsd#appf_IncreaseDecreaseInOperatingLeases"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_8f2768e7-8489-4e42-b5e4-c713408dfc51" xlink:to="loc_appf_IncreaseDecreaseInOperatingLeases_6a1b08aa-a401-4be7-bc81-3edb6baa18c6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherCurrentLiabilities_31319fc4-3283-4dd4-a710-408017aa45ab" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOtherCurrentLiabilities"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_8f2768e7-8489-4e42-b5e4-c713408dfc51" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherCurrentLiabilities_31319fc4-3283-4dd4-a710-408017aa45ab" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_df0a9995-c992-4524-85c7-500945492c29" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_8f2768e7-8489-4e42-b5e4-c713408dfc51" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_df0a9995-c992-4524-85c7-500945492c29" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_b0b8cc5d-c7cb-4760-8dc9-bad1c35007e2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_8f2768e7-8489-4e42-b5e4-c713408dfc51" xlink:to="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_b0b8cc5d-c7cb-4760-8dc9-bad1c35007e2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNoncashIncomeExpense_1270b1c7-9a96-4182-8e91-9c3a25010702" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNoncashIncomeExpense"/>
    <link:calculationArc order="10" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_8f2768e7-8489-4e42-b5e4-c713408dfc51" xlink:to="loc_us-gaap_OtherNoncashIncomeExpense_1270b1c7-9a96-4182-8e91-9c3a25010702" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_5dd5125e-80f2-4d3d-b367-63766d189e51" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:calculationArc order="11" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_8f2768e7-8489-4e42-b5e4-c713408dfc51" xlink:to="loc_us-gaap_NetIncomeLoss_5dd5125e-80f2-4d3d-b367-63766d189e51" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_80177d9a-6b03-4ac8-956d-a10092462ca6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
    <link:calculationArc order="12" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_8f2768e7-8489-4e42-b5e4-c713408dfc51" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_80177d9a-6b03-4ac8-956d-a10092462ca6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_016c314d-be1d-4a2d-8b95-fb2c018ba5eb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:calculationArc order="13" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_8f2768e7-8489-4e42-b5e4-c713408dfc51" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_016c314d-be1d-4a2d-8b95-fb2c018ba5eb" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent_2245a230-66e8-413a-b3e2-93c73b4c6862" xlink:href="appf-20210630.xsd#appf_IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent"/>
    <link:calculationArc order="14" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_8f2768e7-8489-4e42-b5e4-c713408dfc51" xlink:to="loc_appf_IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent_2245a230-66e8-413a-b3e2-93c73b4c6862" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_00ee2eae-0757-48d7-a15e-6481d5f7dba2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensation"/>
    <link:calculationArc order="15" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_8f2768e7-8489-4e42-b5e4-c713408dfc51" xlink:to="loc_us-gaap_ShareBasedCompensation_00ee2eae-0757-48d7-a15e-6481d5f7dba2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxesAndTaxCredits_3f0d2367-0a0d-42f5-9ce7-45d7cb6e050f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits"/>
    <link:calculationArc order="16" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_8f2768e7-8489-4e42-b5e4-c713408dfc51" xlink:to="loc_us-gaap_DeferredIncomeTaxesAndTaxCredits_3f0d2367-0a0d-42f5-9ce7-45d7cb6e050f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_624b81e0-f349-46a5-8b50-791ab8611268" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities"/>
    <link:calculationArc order="17" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_8f2768e7-8489-4e42-b5e4-c713408dfc51" xlink:to="loc_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_624b81e0-f349-46a5-8b50-791ab8611268" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_6f0e5046-0166-4732-bab8-342fb94d116b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised_fef02d10-4d19-4dbf-a55c-466a9420fa74" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_6f0e5046-0166-4732-bab8-342fb94d116b" xlink:to="loc_us-gaap_ProceedsFromStockOptionsExercised_fef02d10-4d19-4dbf-a55c-466a9420fa74" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_17d1b9f4-cc6e-48cc-84cf-beecdeb9d132" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_6f0e5046-0166-4732-bab8-342fb94d116b" xlink:to="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_17d1b9f4-cc6e-48cc-84cf-beecdeb9d132" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_137f748c-c197-4520-bebf-9fb71d772f8f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_6f0e5046-0166-4732-bab8-342fb94d116b" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_137f748c-c197-4520-bebf-9fb71d772f8f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSecuredDebt_0a106321-fdc8-4e45-8647-c0a0838a94b3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfSecuredDebt"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_6f0e5046-0166-4732-bab8-342fb94d116b" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfSecuredDebt_0a106321-fdc8-4e45-8647-c0a0838a94b3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfSecuredDebt_6c18f4a9-f65c-4c7d-8cfe-2b8f5b6d7c9e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfSecuredDebt"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_6f0e5046-0166-4732-bab8-342fb94d116b" xlink:to="loc_us-gaap_RepaymentsOfSecuredDebt_6c18f4a9-f65c-4c7d-8cfe-2b8f5b6d7c9e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_8892724b-7da2-4ed8-9af3-3b5aa7133141" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_6f0e5046-0166-4732-bab8-342fb94d116b" xlink:to="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_8892724b-7da2-4ed8-9af3-3b5aa7133141" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_d346eda0-2199-4fe7-a0dd-bc8799a92973" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_30f4531a-3525-49cb-abae-e244d4ce30c8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_d346eda0-2199-4fe7-a0dd-bc8799a92973" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_30f4531a-3525-49cb-abae-e244d4ce30c8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_e67e36c5-2421-48a0-a7a0-0de4913679a0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_d346eda0-2199-4fe7-a0dd-bc8799a92973" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_e67e36c5-2421-48a0-a7a0-0de4913679a0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_19017886-6682-4c83-9c17-4cb99f99044b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesIssuedBasic_632f921b-9f25-4977-9def-5118a30c6ffb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesIssuedBasic"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_19017886-6682-4c83-9c17-4cb99f99044b" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesIssuedBasic_632f921b-9f25-4977-9def-5118a30c6ffb" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesRestrictedStock_b315db53-bf65-43e3-a923-d6729ea6e313" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesRestrictedStock"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_19017886-6682-4c83-9c17-4cb99f99044b" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesRestrictedStock_b315db53-bf65-43e3-a923-d6729ea6e313" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_3665987d-4d1b-42c3-b8c3-f4fc0a88df7c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_ed2d4ff1-4a00-43db-8d39-bc83281c8fe8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_3665987d-4d1b-42c3-b8c3-f4fc0a88df7c" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_ed2d4ff1-4a00-43db-8d39-bc83281c8fe8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_36db073d-1ec6-4d64-8219-784e31f2189e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_3665987d-4d1b-42c3-b8c3-f4fc0a88df7c" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_36db073d-1ec6-4d64-8219-784e31f2189e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_2a53cfca-a89f-4e98-845d-0a13e3359374" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_3665987d-4d1b-42c3-b8c3-f4fc0a88df7c" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_2a53cfca-a89f-4e98-845d-0a13e3359374" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_5055d68c-4f5c-4383-9011-f7b4db885984" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_02380add-f0ef-4b69-9ae1-7632f37910f7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_5055d68c-4f5c-4383-9011-f7b4db885984" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_02380add-f0ef-4b69-9ae1-7632f37910f7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue_7e3b946a-48c8-4acc-9336-8ae9944de263" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_5055d68c-4f5c-4383-9011-f7b4db885984" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue_7e3b946a-48c8-4acc-9336-8ae9944de263" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_b36e5ca1-51c9-4526-8ecf-90c4148f7ade" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost_8dfd75f6-d7b9-49ce-aa25-9079014a55fd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_b36e5ca1-51c9-4526-8ecf-90c4148f7ade" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost_8dfd75f6-d7b9-49ce-aa25-9079014a55fd" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost_aaf7c577-4d3d-4698-a235-8e47fecf9347" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_b36e5ca1-51c9-4526-8ecf-90c4148f7ade" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost_aaf7c577-4d3d-4698-a235-8e47fecf9347" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure_c00ef8f7-ebfd-498f-b6b3-3c444b069f14" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_f2aebe72-644e-4d22-8725-cd88bd266475" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsFairValueDisclosure_c00ef8f7-ebfd-498f-b6b3-3c444b069f14" xlink:to="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_f2aebe72-644e-4d22-8725-cd88bd266475" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_37ac52e7-82a5-4ec8-8e8e-19243ac684a9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsFairValueDisclosure_c00ef8f7-ebfd-498f-b6b3-3c444b069f14" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_37ac52e7-82a5-4ec8-8e8e-19243ac684a9" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareNet_13ed3bb0-5cc0-4749-aaa8-bfe13334eb96" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareGross_68a148ea-cbb1-4f48-b3b2-7c7bdb6708be" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareGross"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareNet_13ed3bb0-5cc0-4749-aaa8-bfe13334eb96" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareGross_68a148ea-cbb1-4f48-b3b2-7c7bdb6708be" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization_2ef5d767-9c38-46bc-9f08-a93cd2928cb1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareNet_13ed3bb0-5cc0-4749-aaa8-bfe13334eb96" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization_2ef5d767-9c38-46bc-9f08-a93cd2928cb1" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareNet_5e89a86f-3da6-4768-abc0-98ce8d11103b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear_394b6640-13ce-492b-b283-8d01fb25c9f4" xlink:href="appf-20210630.xsd#appf_CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareNet_5e89a86f-3da6-4768-abc0-98ce8d11103b" xlink:to="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear_394b6640-13ce-492b-b283-8d01fb25c9f4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne_74d515ef-047a-48bb-843c-36f6f1eb88be" xlink:href="appf-20210630.xsd#appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareNet_5e89a86f-3da6-4768-abc0-98ce8d11103b" xlink:to="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne_74d515ef-047a-48bb-843c-36f6f1eb88be" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo_a20444b6-d6a6-4a81-9841-3be8f3ddc28b" xlink:href="appf-20210630.xsd#appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareNet_5e89a86f-3da6-4768-abc0-98ce8d11103b" xlink:to="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo_a20444b6-d6a6-4a81-9841-3be8f3ddc28b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree_6c372c88-5855-4a56-b061-9a731caeef16" xlink:href="appf-20210630.xsd#appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareNet_5e89a86f-3da6-4768-abc0-98ce8d11103b" xlink:to="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree_6c372c88-5855-4a56-b061-9a731caeef16" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_7d9fe618-10b3-4353-a018-6736618f85ee" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_dfeb0919-ed5e-481c-b91c-cc0eaaa5293f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_7d9fe618-10b3-4353-a018-6736618f85ee" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_dfeb0919-ed5e-481c-b91c-cc0eaaa5293f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_b1daf642-d051-42e0-b3d7-0435879a5dc5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_7d9fe618-10b3-4353-a018-6736618f85ee" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_b1daf642-d051-42e0-b3d7-0435879a5dc5" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_0843d8d3-b1bb-4f42-aa4b-8f49c9644b2f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_e8b4ed79-8605-49c9-a3d7-bc882ad94748" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_0843d8d3-b1bb-4f42-aa4b-8f49c9644b2f" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_e8b4ed79-8605-49c9-a3d7-bc882ad94748" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_bee96a3b-4dc7-40f0-a5a7-868c2067a8be" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_0843d8d3-b1bb-4f42-aa4b-8f49c9644b2f" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_bee96a3b-4dc7-40f0-a5a7-868c2067a8be" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_ed73c17f-517a-4781-a9ff-92e38b889e40" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_0843d8d3-b1bb-4f42-aa4b-8f49c9644b2f" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_ed73c17f-517a-4781-a9ff-92e38b889e40" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_e9705bc4-3f9f-4134-a576-f32c641772da" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_0843d8d3-b1bb-4f42-aa4b-8f49c9644b2f" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_e9705bc4-3f9f-4134-a576-f32c641772da" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_26825671-e4af-4e9e-986b-2ef3285c315f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_0843d8d3-b1bb-4f42-aa4b-8f49c9644b2f" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_26825671-e4af-4e9e-986b-2ef3285c315f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour_269d8710-8b2e-49a8-bcd5-b04f2d0a2f7e" xlink:href="appf-20210630.xsd#appf_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_0843d8d3-b1bb-4f42-aa4b-8f49c9644b2f" xlink:to="loc_appf_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour_269d8710-8b2e-49a8-bcd5-b04f2d0a2f7e" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/AccruedEmployeeExpensesDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#AccruedEmployeeExpensesDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/AccruedEmployeeExpensesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_bf1d1e30-c5e7-44f8-b9a2-048f9293530a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedPayrollTaxesCurrent_48d1feb5-94e6-45f8-b146-2f032eceff4d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedPayrollTaxesCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_bf1d1e30-c5e7-44f8-b9a2-048f9293530a" xlink:to="loc_us-gaap_AccruedPayrollTaxesCurrent_48d1feb5-94e6-45f8-b146-2f032eceff4d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedSalesCommissionCurrent_044b66d4-2913-40ec-90da-8c309a1af01e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedSalesCommissionCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_bf1d1e30-c5e7-44f8-b9a2-048f9293530a" xlink:to="loc_us-gaap_AccruedSalesCommissionCurrent_044b66d4-2913-40ec-90da-8c309a1af01e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedVacationCurrent_72c7ae85-b89d-4718-907f-4ef564f2e798" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedVacationCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_bf1d1e30-c5e7-44f8-b9a2-048f9293530a" xlink:to="loc_us-gaap_AccruedVacationCurrent_72c7ae85-b89d-4718-907f-4ef564f2e798" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedSalariesCurrent_e9279fa7-7598-4d15-aff1-eb567ebbb70b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedSalariesCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_bf1d1e30-c5e7-44f8-b9a2-048f9293530a" xlink:to="loc_us-gaap_AccruedSalariesCurrent_e9279fa7-7598-4d15-aff1-eb567ebbb70b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedBonusesCurrent_3a346cec-6920-454a-8be2-7bd1ce976893" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedBonusesCurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_bf1d1e30-c5e7-44f8-b9a2-048f9293530a" xlink:to="loc_us-gaap_AccruedBonusesCurrent_3a346cec-6920-454a-8be2-7bd1ce976893" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseExpenseDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#LeasesScheduleofComponentsofLeaseExpenseDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCost_4fa8f836-eade-4e0f-afa3-f04ebf112595" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseCost"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableLeaseCost_f7b02674-0311-49b0-bdc8-993dbce22740" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VariableLeaseCost"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LeaseCost_4fa8f836-eade-4e0f-afa3-f04ebf112595" xlink:to="loc_us-gaap_VariableLeaseCost_f7b02674-0311-49b0-bdc8-993dbce22740" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost_c0fc83de-2694-4a61-9a3f-5d89bd92b579" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseCost"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LeaseCost_4fa8f836-eade-4e0f-afa3-f04ebf112595" xlink:to="loc_us-gaap_OperatingLeaseCost_c0fc83de-2694-4a61-9a3f-5d89bd92b579" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/LeasesLeaseRelatedAssetsandLiabilitiesDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#LeasesLeaseRelatedAssetsandLiabilitiesDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/LeasesLeaseRelatedAssetsandLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_ec4f224a-5eff-4db9-bb90-35bcf4aadde9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_c0920168-7463-42ab-b748-443f2909a919" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeaseLiability_ec4f224a-5eff-4db9-bb90-35bcf4aadde9" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_c0920168-7463-42ab-b748-443f2909a919" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_73d6009a-30d2-473c-91c7-dbf08c446c99" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeaseLiability_ec4f224a-5eff-4db9-bb90-35bcf4aadde9" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_73d6009a-30d2-473c-91c7-dbf08c446c99" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_3d3ca66a-972b-482f-af74-cd083cf53763" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_7fc04883-0bde-4fc8-a61c-f82e2d32574b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_3d3ca66a-972b-482f-af74-cd083cf53763" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_7fc04883-0bde-4fc8-a61c-f82e2d32574b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion_f879eb66-688d-4d5a-9aca-6a8f1f44d506" xlink:href="appf-20210630.xsd#appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_3d3ca66a-972b-482f-af74-cd083cf53763" xlink:to="loc_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion_f879eb66-688d-4d5a-9aca-6a8f1f44d506" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails_1" xlink:type="simple" xlink:href="appf-20210630.xsd#LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails_1"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails_1" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_39ccddb1-4a7e-4ec0-954e-1d7e18fd9fc9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_075cc85d-d805-4a72-a864-38d0d0280e32" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_39ccddb1-4a7e-4ec0-954e-1d7e18fd9fc9" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_075cc85d-d805-4a72-a864-38d0d0280e32" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_552440d4-0fde-4e8b-9a4b-ef41b2e6e528" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_39ccddb1-4a7e-4ec0-954e-1d7e18fd9fc9" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_552440d4-0fde-4e8b-9a4b-ef41b2e6e528" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_5396f710-7e8f-4b3e-87a0-9b017b915864" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_39ccddb1-4a7e-4ec0-954e-1d7e18fd9fc9" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_5396f710-7e8f-4b3e-87a0-9b017b915864" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_7f3ab5b9-28e7-4e2f-851e-7936a8b88920" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_39ccddb1-4a7e-4ec0-954e-1d7e18fd9fc9" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_7f3ab5b9-28e7-4e2f-851e-7936a8b88920" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_f3634e3f-57e0-45b0-ab0e-eb069cdcd09c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_39ccddb1-4a7e-4ec0-954e-1d7e18fd9fc9" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_f3634e3f-57e0-45b0-ab0e-eb069cdcd09c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_d1aa4d7d-1e7b-4f63-9be8-7a27e6373052" xlink:href="appf-20210630.xsd#appf_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_39ccddb1-4a7e-4ec0-954e-1d7e18fd9fc9" xlink:to="loc_appf_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_d1aa4d7d-1e7b-4f63-9be8-7a27e6373052" xlink:type="arc"/>
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>8
<FILENAME>appf-20210630_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2021 Workiva-->
<!--r:37da0c4e-e9f4-4889-837f-b75c37440ddd,g:52117fbf-c0b2-4806-85da-e7b4fd96bdf9-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/CoverPage" xlink:type="simple" xlink:href="appf-20210630.xsd#CoverPage"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/CoverPage" xlink:type="extended" id="i798fa98e7fec42459b3c1af67268c843_CoverPage">
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_DocumentInformationLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType_daa949c4-eef8-48fc-af3a-c47bc06aa400" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_DocumentType"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_DocumentType_daa949c4-eef8-48fc-af3a-c47bc06aa400" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentQuarterlyReport_379a6abd-18cf-438f-aa1c-b1586d749ada" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_DocumentQuarterlyReport"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_DocumentQuarterlyReport_379a6abd-18cf-438f-aa1c-b1586d749ada" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate_e3b809d0-e113-4aa6-aef8-4a3d0c59ab8e" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_DocumentPeriodEndDate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_DocumentPeriodEndDate_e3b809d0-e113-4aa6-aef8-4a3d0c59ab8e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport_db65e3a1-a9bb-4803-ba50-2e698764b1a4" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_DocumentTransitionReport"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_DocumentTransitionReport_db65e3a1-a9bb-4803-ba50-2e698764b1a4" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber_107a681a-955a-4c45-a76c-ef11ceb05e95" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityFileNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityFileNumber_107a681a-955a-4c45-a76c-ef11ceb05e95" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName_9b99c5f5-aa4d-4799-b7b7-579d1a99de48" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityRegistrantName"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityRegistrantName_9b99c5f5-aa4d-4799-b7b7-579d1a99de48" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode_6cabacc4-ac00-4427-8492-947ef7226f42" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityIncorporationStateCountryCode_6cabacc4-ac00-4427-8492-947ef7226f42" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber_a71aca19-8bd2-40d2-9036-1a01f961b4e4" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityTaxIdentificationNumber_a71aca19-8bd2-40d2-9036-1a01f961b4e4" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1_e7f00e01-05ec-4903-88e7-c3c176ffe116" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityAddressAddressLine1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityAddressAddressLine1_e7f00e01-05ec-4903-88e7-c3c176ffe116" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown_4fe1fe11-26ff-4c53-ab8a-a994686d46c3" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityAddressCityOrTown"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityAddressCityOrTown_4fe1fe11-26ff-4c53-ab8a-a994686d46c3" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince_019bbbe1-c11f-4cf3-bfa4-c4c1507ffb2f" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityAddressStateOrProvince"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityAddressStateOrProvince_019bbbe1-c11f-4cf3-bfa4-c4c1507ffb2f" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode_e8e42716-b82e-473e-951a-b72c6da36a76" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityAddressPostalZipCode"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityAddressPostalZipCode_e8e42716-b82e-473e-951a-b72c6da36a76" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode_7e49c24d-bd2c-41bc-9d03-1253a060571d" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_CityAreaCode"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_CityAreaCode_7e49c24d-bd2c-41bc-9d03-1253a060571d" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber_eeeb78e7-c1e1-470e-9c5c-727db6cf96b8" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_LocalPhoneNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_LocalPhoneNumber_eeeb78e7-c1e1-470e-9c5c-727db6cf96b8" xlink:type="arc" order="13"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle_723a210e-3b5a-4c9b-9165-9eb40519f925" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_Security12bTitle"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_Security12bTitle_723a210e-3b5a-4c9b-9165-9eb40519f925" xlink:type="arc" order="14"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol_2bde543f-ec06-4f49-9e6b-b12046e91dee" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_TradingSymbol"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_TradingSymbol_2bde543f-ec06-4f49-9e6b-b12046e91dee" xlink:type="arc" order="15"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName_c0d50af0-0d05-4006-ba80-a8e0028320d4" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_SecurityExchangeName"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_SecurityExchangeName_c0d50af0-0d05-4006-ba80-a8e0028320d4" xlink:type="arc" order="16"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus_45d52fef-494a-4f56-ab50-45077588694e" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityCurrentReportingStatus"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityCurrentReportingStatus_45d52fef-494a-4f56-ab50-45077588694e" xlink:type="arc" order="17"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent_835a208c-b644-492f-8a0a-7722ef831751" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityInteractiveDataCurrent_835a208c-b644-492f-8a0a-7722ef831751" xlink:type="arc" order="18"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory_04133931-ad09-4721-b1f8-7fea49ff0f6f" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityFilerCategory"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityFilerCategory_04133931-ad09-4721-b1f8-7fea49ff0f6f" xlink:type="arc" order="19"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness_80c182da-730f-4938-a485-ccce6dc47c22" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntitySmallBusiness"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntitySmallBusiness_80c182da-730f-4938-a485-ccce6dc47c22" xlink:type="arc" order="20"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany_349134f4-eaaa-4275-a962-80439ca0afab" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityEmergingGrowthCompany_349134f4-eaaa-4275-a962-80439ca0afab" xlink:type="arc" order="21"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany_76d79c6e-97c7-4e2a-b0bf-c15c693d2642" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityShellCompany"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityShellCompany_76d79c6e-97c7-4e2a-b0bf-c15c693d2642" xlink:type="arc" order="22"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_c0462f25-6661-402a-bbcb-60e0cf2cf8c4" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityCommonStockSharesOutstanding_c0462f25-6661-402a-bbcb-60e0cf2cf8c4" xlink:type="arc" order="23"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey_d10c732c-22ff-49e3-a2a4-6959ed815fac" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityCentralIndexKey"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityCentralIndexKey_d10c732c-22ff-49e3-a2a4-6959ed815fac" xlink:type="arc" order="24"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate_0d8fa774-e340-4d7c-a634-1500576f48d4" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_CurrentFiscalYearEndDate_0d8fa774-e340-4d7c-a634-1500576f48d4" xlink:type="arc" order="25"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus_cb0405b5-4b2e-4270-b568-8aa5953ab6c1" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_DocumentFiscalYearFocus"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_DocumentFiscalYearFocus_cb0405b5-4b2e-4270-b568-8aa5953ab6c1" xlink:type="arc" order="26"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus_e288e005-47f0-4e0f-a250-ad68915ac9c1" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_DocumentFiscalPeriodFocus_e288e005-47f0-4e0f-a250-ad68915ac9c1" xlink:type="arc" order="27"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag_64aeeb6e-e6ce-4790-b43b-c803e50f4790" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_AmendmentFlag"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_AmendmentFlag_64aeeb6e-e6ce-4790-b43b-c803e50f4790" xlink:type="arc" order="28"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentInformationTable_6bdc4971-961a-481b-ac16-7823d3a5ab12" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_DocumentInformationTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_DocumentInformationTable_6bdc4971-961a-481b-ac16-7823d3a5ab12" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_bf6c65f8-8522-4be9-8833-855a15ec7df8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_dei_DocumentInformationTable_6bdc4971-961a-481b-ac16-7823d3a5ab12" xlink:to="loc_us-gaap_StatementClassOfStockAxis_bf6c65f8-8522-4be9-8833-855a15ec7df8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_bf6c65f8-8522-4be9-8833-855a15ec7df8_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_bf6c65f8-8522-4be9-8833-855a15ec7df8" xlink:to="loc_us-gaap_ClassOfStockDomain_bf6c65f8-8522-4be9-8833-855a15ec7df8_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_86f436fd-7ce1-4b00-9fe9-f2938f0c8b8c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_bf6c65f8-8522-4be9-8833-855a15ec7df8" xlink:to="loc_us-gaap_ClassOfStockDomain_86f436fd-7ce1-4b00-9fe9-f2938f0c8b8c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_9af0f33f-f3ce-4008-9146-0979eb1cfdd4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonClassAMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_86f436fd-7ce1-4b00-9fe9-f2938f0c8b8c" xlink:to="loc_us-gaap_CommonClassAMember_9af0f33f-f3ce-4008-9146-0979eb1cfdd4" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_8ef08e2a-d8cf-4d31-a37b-161455ce800d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonClassBMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_86f436fd-7ce1-4b00-9fe9-f2938f0c8b8c" xlink:to="loc_us-gaap_CommonClassBMember_8ef08e2a-d8cf-4d31-a37b-161455ce800d" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited" xlink:type="simple" xlink:href="appf-20210630.xsd#CondensedConsolidatedBalanceSheetsUnaudited"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited" xlink:type="extended" id="ic6b3fa388cec41c6874b387391533866_CondensedConsolidatedBalanceSheetsUnaudited">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_6041771d-5c84-49a2-9b42-3325a7fab921" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract_62bb400c-6e88-4615-9708-c3d2c2af82f3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_6041771d-5c84-49a2-9b42-3325a7fab921" xlink:to="loc_us-gaap_AssetsAbstract_62bb400c-6e88-4615-9708-c3d2c2af82f3" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract_18f0066f-b6ac-46bf-868b-3869e3d3fca2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_62bb400c-6e88-4615-9708-c3d2c2af82f3" xlink:to="loc_us-gaap_AssetsCurrentAbstract_18f0066f-b6ac-46bf-868b-3869e3d3fca2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_07f7d63c-f204-49fc-81cf-4c3ebb5d9b0b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsCurrentAbstract_18f0066f-b6ac-46bf-868b-3869e3d3fca2" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_07f7d63c-f204-49fc-81cf-4c3ebb5d9b0b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_15cbb8e9-2765-4b2e-b195-50b37a8e1aca" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsCurrentAbstract_18f0066f-b6ac-46bf-868b-3869e3d3fca2" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_15cbb8e9-2765-4b2e-b195-50b37a8e1aca" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_75465dcf-059b-4454-86fd-37a2baa35aa2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsCurrentAbstract_18f0066f-b6ac-46bf-868b-3869e3d3fca2" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_75465dcf-059b-4454-86fd-37a2baa35aa2" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_1c38e0f7-9f84-4dee-adb3-5a4732c0036b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsCurrentAbstract_18f0066f-b6ac-46bf-868b-3869e3d3fca2" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_1c38e0f7-9f84-4dee-adb3-5a4732c0036b" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_2bd20a53-9b4b-46e1-bb3d-5f22ef3fb028" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsCurrentAbstract_18f0066f-b6ac-46bf-868b-3869e3d3fca2" xlink:to="loc_us-gaap_AssetsCurrent_2bd20a53-9b4b-46e1-bb3d-5f22ef3fb028" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_b5a61b53-6a5a-4284-93c2-ff25b1ae0966" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_62bb400c-6e88-4615-9708-c3d2c2af82f3" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_b5a61b53-6a5a-4284-93c2-ff25b1ae0966" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_7c94ff66-7a61-4530-bd05-b073a1c49a5b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_62bb400c-6e88-4615-9708-c3d2c2af82f3" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_7c94ff66-7a61-4530-bd05-b073a1c49a5b" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_4f2e49e4-81b1-4a38-b411-12ec38d6eb4c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_62bb400c-6e88-4615-9708-c3d2c2af82f3" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_4f2e49e4-81b1-4a38-b411-12ec38d6eb4c" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareNet_42df90de-fb87-4798-ad4d-337c06f9c870" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_62bb400c-6e88-4615-9708-c3d2c2af82f3" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareNet_42df90de-fb87-4798-ad4d-337c06f9c870" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_542e5083-391f-4b49-ac29-e44071f2a164" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_62bb400c-6e88-4615-9708-c3d2c2af82f3" xlink:to="loc_us-gaap_Goodwill_542e5083-391f-4b49-ac29-e44071f2a164" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_7f8d2cad-36b8-46b7-8c5a-8564ecda15c8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_62bb400c-6e88-4615-9708-c3d2c2af82f3" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_7f8d2cad-36b8-46b7-8c5a-8564ecda15c8" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet_0023709e-665f-4a0c-afb4-a892d85c5cf2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_62bb400c-6e88-4615-9708-c3d2c2af82f3" xlink:to="loc_us-gaap_DeferredIncomeTaxAssetsNet_0023709e-665f-4a0c-afb4-a892d85c5cf2" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_e9b79962-e4e5-4e58-899d-6e3786f0cc81" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_62bb400c-6e88-4615-9708-c3d2c2af82f3" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_e9b79962-e4e5-4e58-899d-6e3786f0cc81" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_ba1380b7-ab60-4e51-966a-cd0ae38fcf84" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Assets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_62bb400c-6e88-4615-9708-c3d2c2af82f3" xlink:to="loc_us-gaap_Assets_ba1380b7-ab60-4e51-966a-cd0ae38fcf84" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_21d95aef-0144-4bda-9fcf-2935794e0d92" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_6041771d-5c84-49a2-9b42-3325a7fab921" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_21d95aef-0144-4bda-9fcf-2935794e0d92" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_e916153e-f2c5-4f75-93c8-42d968e4bf12" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_21d95aef-0144-4bda-9fcf-2935794e0d92" xlink:to="loc_us-gaap_LiabilitiesCurrentAbstract_e916153e-f2c5-4f75-93c8-42d968e4bf12" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_06e533d0-5d88-442f-bf25-23468ab547c4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_e916153e-f2c5-4f75-93c8-42d968e4bf12" xlink:to="loc_us-gaap_AccountsPayableCurrent_06e533d0-5d88-442f-bf25-23468ab547c4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_6dc7aae8-aa06-4502-97c6-37398b9a34f6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_e916153e-f2c5-4f75-93c8-42d968e4bf12" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_6dc7aae8-aa06-4502-97c6-37398b9a34f6" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_35b608ad-d172-4a6d-b867-2907721fed36" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_e916153e-f2c5-4f75-93c8-42d968e4bf12" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_35b608ad-d172-4a6d-b867-2907721fed36" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_446d670c-455a-48a3-b1a4-23498924a743" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_e916153e-f2c5-4f75-93c8-42d968e4bf12" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_446d670c-455a-48a3-b1a4-23498924a743" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxesPayableCurrent_1b85a4c7-18a4-452e-be7d-9a9dc626d8cd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TaxesPayableCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_e916153e-f2c5-4f75-93c8-42d968e4bf12" xlink:to="loc_us-gaap_TaxesPayableCurrent_1b85a4c7-18a4-452e-be7d-9a9dc626d8cd" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesCurrent_88f7d85f-95d9-42a3-b5d7-e90b64265f97" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherLiabilitiesCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_e916153e-f2c5-4f75-93c8-42d968e4bf12" xlink:to="loc_us-gaap_OtherLiabilitiesCurrent_88f7d85f-95d9-42a3-b5d7-e90b64265f97" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_6e1f748f-c2a5-4173-ba7e-219d3b643077" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_e916153e-f2c5-4f75-93c8-42d968e4bf12" xlink:to="loc_us-gaap_LiabilitiesCurrent_6e1f748f-c2a5-4173-ba7e-219d3b643077" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent_e0f699ec-6453-400b-8ba7-b0411baf4b86" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_21d95aef-0144-4bda-9fcf-2935794e0d92" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent_e0f699ec-6453-400b-8ba7-b0411baf4b86" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_0464281e-fa40-43ce-b394-f28648ffa9bf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_21d95aef-0144-4bda-9fcf-2935794e0d92" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_0464281e-fa40-43ce-b394-f28648ffa9bf" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_df982cfe-3262-4a23-a195-055d87707ed6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_21d95aef-0144-4bda-9fcf-2935794e0d92" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_df982cfe-3262-4a23-a195-055d87707ed6" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_5e39f500-1322-4e6d-88f1-db1687ca15c9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Liabilities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_21d95aef-0144-4bda-9fcf-2935794e0d92" xlink:to="loc_us-gaap_Liabilities_5e39f500-1322-4e6d-88f1-db1687ca15c9" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingencies_0355ba32-73c6-4d9f-bc49-6a642dbc8f2e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingencies"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_21d95aef-0144-4bda-9fcf-2935794e0d92" xlink:to="loc_us-gaap_CommitmentsAndContingencies_0355ba32-73c6-4d9f-bc49-6a642dbc8f2e" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract_58771acf-82b8-42ff-8487-6aa35cce0a97" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_21d95aef-0144-4bda-9fcf-2935794e0d92" xlink:to="loc_us-gaap_StockholdersEquityAbstract_58771acf-82b8-42ff-8487-6aa35cce0a97" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue_b9c21a6c-5889-4c13-b0de-db05c67ea2ef" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StockholdersEquityAbstract_58771acf-82b8-42ff-8487-6aa35cce0a97" xlink:to="loc_us-gaap_PreferredStockValue_b9c21a6c-5889-4c13-b0de-db05c67ea2ef" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_699ac277-34e0-4271-9eeb-1027bde1c790" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StockholdersEquityAbstract_58771acf-82b8-42ff-8487-6aa35cce0a97" xlink:to="loc_us-gaap_CommonStockValue_699ac277-34e0-4271-9eeb-1027bde1c790" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital_313fab9f-fd45-408b-aea5-4ebbdeb9dbd7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapital"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StockholdersEquityAbstract_58771acf-82b8-42ff-8487-6aa35cce0a97" xlink:to="loc_us-gaap_AdditionalPaidInCapital_313fab9f-fd45-408b-aea5-4ebbdeb9dbd7" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_27b426f8-9067-456e-b933-bbd770f1cfcd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StockholdersEquityAbstract_58771acf-82b8-42ff-8487-6aa35cce0a97" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_27b426f8-9067-456e-b933-bbd770f1cfcd" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValue_2490d4d1-392a-404f-b927-8e8d0eed854b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StockholdersEquityAbstract_58771acf-82b8-42ff-8487-6aa35cce0a97" xlink:to="loc_us-gaap_TreasuryStockValue_2490d4d1-392a-404f-b927-8e8d0eed854b" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_3d7ecda5-4414-438b-b490-82bc8d0cc95e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StockholdersEquityAbstract_58771acf-82b8-42ff-8487-6aa35cce0a97" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_3d7ecda5-4414-438b-b490-82bc8d0cc95e" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_58be7cab-8681-40a3-89ff-292d964fca4c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StockholdersEquityAbstract_58771acf-82b8-42ff-8487-6aa35cce0a97" xlink:to="loc_us-gaap_StockholdersEquity_58be7cab-8681-40a3-89ff-292d964fca4c" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_59c0aac5-c3ba-4d97-9fce-034ccd3bbf93" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_21d95aef-0144-4bda-9fcf-2935794e0d92" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquity_59c0aac5-c3ba-4d97-9fce-034ccd3bbf93" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_2f3c8a36-f159-41cd-ad39-be7884d8f5c5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_6041771d-5c84-49a2-9b42-3325a7fab921" xlink:to="loc_us-gaap_StatementTable_2f3c8a36-f159-41cd-ad39-be7884d8f5c5" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_46289afd-0829-4d0f-b0b7-c17d0fb89e05" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_2f3c8a36-f159-41cd-ad39-be7884d8f5c5" xlink:to="loc_us-gaap_StatementClassOfStockAxis_46289afd-0829-4d0f-b0b7-c17d0fb89e05" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_46289afd-0829-4d0f-b0b7-c17d0fb89e05_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_46289afd-0829-4d0f-b0b7-c17d0fb89e05" xlink:to="loc_us-gaap_ClassOfStockDomain_46289afd-0829-4d0f-b0b7-c17d0fb89e05_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_6e8eb27a-15d3-4ef8-a3de-7069be0d0014" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_46289afd-0829-4d0f-b0b7-c17d0fb89e05" xlink:to="loc_us-gaap_ClassOfStockDomain_6e8eb27a-15d3-4ef8-a3de-7069be0d0014" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_e8c8e4bd-0766-45c1-9dcd-37153689887e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonClassAMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_6e8eb27a-15d3-4ef8-a3de-7069be0d0014" xlink:to="loc_us-gaap_CommonClassAMember_e8c8e4bd-0766-45c1-9dcd-37153689887e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_07eb8e53-de71-4447-b7b3-9a2a60317a29" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonClassBMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_6e8eb27a-15d3-4ef8-a3de-7069be0d0014" xlink:to="loc_us-gaap_CommonClassBMember_07eb8e53-de71-4447-b7b3-9a2a60317a29" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="appf-20210630.xsd#CondensedConsolidatedBalanceSheetsParenthetical"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsParenthetical" xlink:type="extended" id="i982a8a1818174cea95ab7caa25b126dd_CondensedConsolidatedBalanceSheetsParenthetical">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_e9faf481-d41d-445e-9256-89e7d2071777" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare_cfd6713e-0c66-4b2c-8b42-f42123ca802e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_e9faf481-d41d-445e-9256-89e7d2071777" xlink:to="loc_us-gaap_PreferredStockParOrStatedValuePerShare_cfd6713e-0c66-4b2c-8b42-f42123ca802e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_66551f9b-1f82-475c-8f61-2b692dd99f3e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_e9faf481-d41d-445e-9256-89e7d2071777" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_66551f9b-1f82-475c-8f61-2b692dd99f3e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding_b7aab572-8275-42cc-8c99-6b3f8749b5a5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_e9faf481-d41d-445e-9256-89e7d2071777" xlink:to="loc_us-gaap_PreferredStockSharesOutstanding_b7aab572-8275-42cc-8c99-6b3f8749b5a5" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesIssued_216de698-e5cb-4a5a-b88c-eb4ee2bd36d9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesIssued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_e9faf481-d41d-445e-9256-89e7d2071777" xlink:to="loc_us-gaap_PreferredStockSharesIssued_216de698-e5cb-4a5a-b88c-eb4ee2bd36d9" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_0501c48f-c812-40e7-b11a-f044018c6dd7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_e9faf481-d41d-445e-9256-89e7d2071777" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_0501c48f-c812-40e7-b11a-f044018c6dd7" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_e60f9806-a61b-4e59-a854-c2dca537def4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_e9faf481-d41d-445e-9256-89e7d2071777" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_e60f9806-a61b-4e59-a854-c2dca537def4" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_937198af-a1e8-4cd3-b4b9-2e142f5371b3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_e9faf481-d41d-445e-9256-89e7d2071777" xlink:to="loc_us-gaap_CommonStockSharesIssued_937198af-a1e8-4cd3-b4b9-2e142f5371b3" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_27056841-e5a7-4348-a7c9-64ec4e113853" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_e9faf481-d41d-445e-9256-89e7d2071777" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_27056841-e5a7-4348-a7c9-64ec4e113853" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockShares_572cae29-1b9a-435b-96f3-d93eb2182d15" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockShares"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_e9faf481-d41d-445e-9256-89e7d2071777" xlink:to="loc_us-gaap_TreasuryStockShares_572cae29-1b9a-435b-96f3-d93eb2182d15" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_432e8a4c-c46e-4b28-ad05-b63f3315a6ab" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_e9faf481-d41d-445e-9256-89e7d2071777" xlink:to="loc_us-gaap_StatementTable_432e8a4c-c46e-4b28-ad05-b63f3315a6ab" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_89035505-e48f-4c1f-844a-1f3e47d99668" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_432e8a4c-c46e-4b28-ad05-b63f3315a6ab" xlink:to="loc_us-gaap_StatementClassOfStockAxis_89035505-e48f-4c1f-844a-1f3e47d99668" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_89035505-e48f-4c1f-844a-1f3e47d99668_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_89035505-e48f-4c1f-844a-1f3e47d99668" xlink:to="loc_us-gaap_ClassOfStockDomain_89035505-e48f-4c1f-844a-1f3e47d99668_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_5aa81363-de0a-43f6-98a0-532d134a1da4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_89035505-e48f-4c1f-844a-1f3e47d99668" xlink:to="loc_us-gaap_ClassOfStockDomain_5aa81363-de0a-43f6-98a0-532d134a1da4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_efae43da-8986-4b01-bc68-4cac1ba5c21f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonClassAMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_5aa81363-de0a-43f6-98a0-532d134a1da4" xlink:to="loc_us-gaap_CommonClassAMember_efae43da-8986-4b01-bc68-4cac1ba5c21f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_9ed1543e-0c06-4e47-a0c1-049761e4eeb1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonClassBMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_5aa81363-de0a-43f6-98a0-532d134a1da4" xlink:to="loc_us-gaap_CommonClassBMember_9ed1543e-0c06-4e47-a0c1-049761e4eeb1" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" xlink:type="simple" xlink:href="appf-20210630.xsd#CondensedConsolidatedStatementsofStockholdersEquityUnaudited"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" xlink:type="extended" id="i8e4a7b92cd024dc79b4b8017ae49cc5d_CondensedConsolidatedStatementsofStockholdersEquityUnaudited">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_8edf02ae-bd94-4c82-9dfc-cb60f1b7a65a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_8edf02ae-bd94-4c82-9dfc-cb60f1b7a65a" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesOutstanding_16ee1d0b-3849-45b9-95b7-387a2d4c4a17" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_us-gaap_SharesOutstanding_16ee1d0b-3849-45b9-95b7-387a2d4c4a17" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_6ce1cc25-9732-4459-b61b-54fba6d60fd1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_us-gaap_StockholdersEquity_6ce1cc25-9732-4459-b61b-54fba6d60fd1" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_b60b8708-52d9-43db-b948-f72ff86d0291" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_b60b8708-52d9-43db-b948-f72ff86d0291" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_b927ac96-550b-4f18-88d8-151e31bd1c95" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_b927ac96-550b-4f18-88d8-151e31bd1c95" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_a4912836-7749-4c39-82c8-209f0ddb4d23" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_a4912836-7749-4c39-82c8-209f0ddb4d23" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings_a965853b-95a1-4999-8774-0aeaf2f176fd" xlink:href="appf-20210630.xsd#appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings_a965853b-95a1-4999-8774-0aeaf2f176fd" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings_7df91433-65b7-4033-85fc-a11826a9e0e8" xlink:href="appf-20210630.xsd#appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings_7df91433-65b7-4033-85fc-a11826a9e0e8" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConversionOfStockSharesConverted1_7c736617-c6f2-4eea-acf7-e0988cce8f32" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConversionOfStockSharesConverted1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_us-gaap_ConversionOfStockSharesConverted1_7c736617-c6f2-4eea-acf7-e0988cce8f32" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_5184c271-a217-45b8-9422-7741ace793bf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_5184c271-a217-45b8-9422-7741ace793bf" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_68c3d2ed-502e-470b-8e72-f60db7ebe7dd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_68c3d2ed-502e-470b-8e72-f60db7ebe7dd" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockSharesAcquired_b39c502f-29a8-430a-9eac-5455f25e3945" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockSharesAcquired"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_us-gaap_TreasuryStockSharesAcquired_b39c502f-29a8-430a-9eac-5455f25e3945" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValueAcquiredCostMethod_5df02b23-1cfc-470c-815d-1c1e1f053895" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_us-gaap_TreasuryStockValueAcquiredCostMethod_5df02b23-1cfc-470c-815d-1c1e1f053895" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_d189d28c-5b87-44ff-8598-d3bffa6c0447" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_us-gaap_NetIncomeLoss_d189d28c-5b87-44ff-8598-d3bffa6c0447" xlink:type="arc" order="13"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesOutstanding_3cb9e9cc-e186-4a23-8b87-e2fd096c7281" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_a14bfc97-bf81-400a-953a-6acc27dbc3f6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_a9264ac9-d14b-40c9-8f24-5151bf8632b6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_8edf02ae-bd94-4c82-9dfc-cb60f1b7a65a" xlink:to="loc_us-gaap_StatementTable_a9264ac9-d14b-40c9-8f24-5151bf8632b6" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_cfe3b606-e377-4492-a170-eaaad600d297" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_a9264ac9-d14b-40c9-8f24-5151bf8632b6" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_cfe3b606-e377-4492-a170-eaaad600d297" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_cfe3b606-e377-4492-a170-eaaad600d297_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_cfe3b606-e377-4492-a170-eaaad600d297" xlink:to="loc_us-gaap_EquityComponentDomain_cfe3b606-e377-4492-a170-eaaad600d297_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_1ab1a0b5-fb10-4d07-94e8-dc736d9965f2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_cfe3b606-e377-4492-a170-eaaad600d297" xlink:to="loc_us-gaap_EquityComponentDomain_1ab1a0b5-fb10-4d07-94e8-dc736d9965f2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_e9ad21a8-409c-46dd-aedf-91ad17ae210e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_1ab1a0b5-fb10-4d07-94e8-dc736d9965f2" xlink:to="loc_us-gaap_CommonStockMember_e9ad21a8-409c-46dd-aedf-91ad17ae210e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_4ca7a781-dd69-4509-bfee-7a22e885f492" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_1ab1a0b5-fb10-4d07-94e8-dc736d9965f2" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_4ca7a781-dd69-4509-bfee-7a22e885f492" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_aedc65ba-c7a0-4f1b-96ef-1268e74e8977" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_1ab1a0b5-fb10-4d07-94e8-dc736d9965f2" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_aedc65ba-c7a0-4f1b-96ef-1268e74e8977" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockMember_993946f4-c289-4031-9dc7-c9bc38b1f380" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_1ab1a0b5-fb10-4d07-94e8-dc736d9965f2" xlink:to="loc_us-gaap_TreasuryStockMember_993946f4-c289-4031-9dc7-c9bc38b1f380" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_86817843-1179-4832-b6ea-eb10ff712154" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_1ab1a0b5-fb10-4d07-94e8-dc736d9965f2" xlink:to="loc_us-gaap_RetainedEarningsMember_86817843-1179-4832-b6ea-eb10ff712154" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_8ef20c85-050d-4044-ae2c-d23d4bae9231" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_a9264ac9-d14b-40c9-8f24-5151bf8632b6" xlink:to="loc_us-gaap_StatementClassOfStockAxis_8ef20c85-050d-4044-ae2c-d23d4bae9231" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_8ef20c85-050d-4044-ae2c-d23d4bae9231_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_8ef20c85-050d-4044-ae2c-d23d4bae9231" xlink:to="loc_us-gaap_ClassOfStockDomain_8ef20c85-050d-4044-ae2c-d23d4bae9231_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_1a55e967-179a-48d9-8265-b3f63560efae" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_8ef20c85-050d-4044-ae2c-d23d4bae9231" xlink:to="loc_us-gaap_ClassOfStockDomain_1a55e967-179a-48d9-8265-b3f63560efae" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_62bbb12a-dae3-477c-9db8-a543e9a0522a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonClassAMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_1a55e967-179a-48d9-8265-b3f63560efae" xlink:to="loc_us-gaap_CommonClassAMember_62bbb12a-dae3-477c-9db8-a543e9a0522a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_b84164ed-24f7-4244-89be-0634ec77aca5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonClassBMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_1a55e967-179a-48d9-8265-b3f63560efae" xlink:to="loc_us-gaap_CommonClassBMember_b84164ed-24f7-4244-89be-0634ec77aca5" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails" xlink:type="extended" id="ic0fcb5f1e38149c3a7e84d4da260d052_SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_53ad04f9-f36e-4259-9863-181936e71d54" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesIssuedBasic_b87c18ff-e266-46e0-b99c-658899682465" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesIssuedBasic"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_53ad04f9-f36e-4259-9863-181936e71d54" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesIssuedBasic_b87c18ff-e266-46e0-b99c-658899682465" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesRestrictedStock_4cee305e-077d-410e-937f-8e273b063dfb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesRestrictedStock"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_53ad04f9-f36e-4259-9863-181936e71d54" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesRestrictedStock_4cee305e-077d-410e-937f-8e273b063dfb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_b4cc2ca0-245d-4abe-95e9-15a316240be4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_53ad04f9-f36e-4259-9863-181936e71d54" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_b4cc2ca0-245d-4abe-95e9-15a316240be4" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_bad002e2-2b6e-4570-b34d-2f70bf1caa12" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_53ad04f9-f36e-4259-9863-181936e71d54" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_bad002e2-2b6e-4570-b34d-2f70bf1caa12" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_f02a2d26-5cf8-4527-ba6f-2c70bad7fe34" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_53ad04f9-f36e-4259-9863-181936e71d54" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_f02a2d26-5cf8-4527-ba6f-2c70bad7fe34" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_33fa77f3-61d0-4b24-912e-59aa4988b1ce" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_53ad04f9-f36e-4259-9863-181936e71d54" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_33fa77f3-61d0-4b24-912e-59aa4988b1ce" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_2eb9d6a5-d09a-4f63-bc89-03f4afee6257" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_53ad04f9-f36e-4259-9863-181936e71d54" xlink:to="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_2eb9d6a5-d09a-4f63-bc89-03f4afee6257" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_b8da8254-28fc-45ea-9bd0-48ea7d91f777" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_2eb9d6a5-d09a-4f63-bc89-03f4afee6257" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_b8da8254-28fc-45ea-9bd0-48ea7d91f777" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_b8da8254-28fc-45ea-9bd0-48ea7d91f777_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_b8da8254-28fc-45ea-9bd0-48ea7d91f777" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_b8da8254-28fc-45ea-9bd0-48ea7d91f777_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_f6d0fb8c-9f67-43a3-9883-310a180bd48a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_b8da8254-28fc-45ea-9bd0-48ea7d91f777" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_f6d0fb8c-9f67-43a3-9883-310a180bd48a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_6f4c7ae2-4505-415b-a798-6357ec7205a3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PerformanceSharesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_f6d0fb8c-9f67-43a3-9883-310a180bd48a" xlink:to="loc_us-gaap_PerformanceSharesMember_6f4c7ae2-4505-415b-a798-6357ec7205a3" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/DivestituresNarrativeDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#DivestituresNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/DivestituresNarrativeDetails" xlink:type="extended" id="if531cdacd067416482ac18e87ee58655_DivestituresNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_50fe15de-7e98-4924-b911-2501caafcfaa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_50fe15de-7e98-4924-b911-2501caafcfaa" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries_30f83cc2-6a22-4e9a-b13d-fb70999f55fb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries_30f83cc2-6a22-4e9a-b13d-fb70999f55fb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1_b3b6a9b9-3e83-465b-9b8c-c202d8fa9ffd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1_b3b6a9b9-3e83-465b-9b8c-c202d8fa9ffd" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashDivestedFromDeconsolidation_e2d85b42-4b2b-403e-9924-b051429cbce6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashDivestedFromDeconsolidation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_us-gaap_CashDivestedFromDeconsolidation_e2d85b42-4b2b-403e-9924-b051429cbce6" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment_c8164a8a-cc5c-4dc2-b18f-4b054813460f" xlink:href="appf-20210630.xsd#appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment_c8164a8a-cc5c-4dc2-b18f-4b054813460f" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod_dfe84624-e86b-4167-8b48-788b3ab10857" xlink:href="appf-20210630.xsd#appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod_dfe84624-e86b-4167-8b48-788b3ab10857" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_828944ee-a271-4823-8f92-62601c02c726" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_828944ee-a271-4823-8f92-62601c02c726" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_dfbf2878-0b95-477d-b629-e70460b300ec" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_dfbf2878-0b95-477d-b629-e70460b300ec" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_NoncashOrPartNoncashDivestitureAdjustmentToConsideration_c27b3a94-e303-4964-b781-336c275b4e6c" xlink:href="appf-20210630.xsd#appf_NoncashOrPartNoncashDivestitureAdjustmentToConsideration"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_appf_NoncashOrPartNoncashDivestitureAdjustmentToConsideration_c27b3a94-e303-4964-b781-336c275b4e6c" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware_990d8716-1844-427b-91dc-c85f1ffc5f01" xlink:href="appf-20210630.xsd#appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware_990d8716-1844-427b-91dc-c85f1ffc5f01" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue_10fb68e9-4053-42ff-ab58-a8519f492c17" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue_10fb68e9-4053-42ff-ab58-a8519f492c17" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1_6df5f9aa-2953-43cf-96e3-63f005d89eb0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1_6df5f9aa-2953-43cf-96e3-63f005d89eb0" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome_fc31ab03-f670-4d00-9bba-27a0156c568f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome_fc31ab03-f670-4d00-9bba-27a0156c568f" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_6ea518f3-a18d-4a91-af10-4d4449c637a3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_6ea518f3-a18d-4a91-af10-4d4449c637a3" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis_eedae0e2-84f4-4c65-afd6-12f720c2bc23" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisposalGroupClassificationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_6ea518f3-a18d-4a91-af10-4d4449c637a3" xlink:to="loc_us-gaap_DisposalGroupClassificationAxis_eedae0e2-84f4-4c65-afd6-12f720c2bc23" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_eedae0e2-84f4-4c65-afd6-12f720c2bc23_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisposalGroupClassificationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_eedae0e2-84f4-4c65-afd6-12f720c2bc23" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_eedae0e2-84f4-4c65-afd6-12f720c2bc23_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_d71bfc9d-270a-42c2-9da4-00048111a8ca" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisposalGroupClassificationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_eedae0e2-84f4-4c65-afd6-12f720c2bc23" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_d71bfc9d-270a-42c2-9da4-00048111a8ca" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_b91ab25f-e356-40c8-83a0-b657597b29ed" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_d71bfc9d-270a-42c2-9da4-00048111a8ca" xlink:to="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_b91ab25f-e356-40c8-83a0-b657597b29ed" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_c3a24807-f49f-42e2-a231-9d4a1396731a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_6ea518f3-a18d-4a91-af10-4d4449c637a3" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_c3a24807-f49f-42e2-a231-9d4a1396731a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_c3a24807-f49f-42e2-a231-9d4a1396731a_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_c3a24807-f49f-42e2-a231-9d4a1396731a" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_c3a24807-f49f-42e2-a231-9d4a1396731a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_48f2c422-93a7-4019-ac74-f3a9925f0e95" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_c3a24807-f49f-42e2-a231-9d4a1396731a" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_48f2c422-93a7-4019-ac74-f3a9925f0e95" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_MyCaseMember_8e6bc347-9256-489e-bbd3-6213c1e43a44" xlink:href="appf-20210630.xsd#appf_MyCaseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_48f2c422-93a7-4019-ac74-f3a9925f0e95" xlink:to="loc_appf_MyCaseMember_8e6bc347-9256-489e-bbd3-6213c1e43a44" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails" xlink:type="extended" id="i6dc4aa3bdd8947498b2c15d6294c6b09_InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_f5c86fa6-0326-47ce-820d-eb4268ca3ac4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_ccf1e7c2-1616-4a58-9df6-d2a4b5f13aba" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_f5c86fa6-0326-47ce-820d-eb4268ca3ac4" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_ccf1e7c2-1616-4a58-9df6-d2a4b5f13aba" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_c7e9265b-b5dd-4bc4-8f56-8b32cd09b60b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_f5c86fa6-0326-47ce-820d-eb4268ca3ac4" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_c7e9265b-b5dd-4bc4-8f56-8b32cd09b60b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_45ddf4a8-5731-45ad-be35-622fe4e224a8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_f5c86fa6-0326-47ce-820d-eb4268ca3ac4" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_45ddf4a8-5731-45ad-be35-622fe4e224a8" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_86e54f27-ac9f-4c67-a14e-f6a4828bf875" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_f5c86fa6-0326-47ce-820d-eb4268ca3ac4" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_86e54f27-ac9f-4c67-a14e-f6a4828bf875" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_6530bfd0-b0f4-476d-a625-64213b36bf3b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_f5c86fa6-0326-47ce-820d-eb4268ca3ac4" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_6530bfd0-b0f4-476d-a625-64213b36bf3b" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_055b5db7-f5b3-496f-8f7f-ee74199e9ee5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_6530bfd0-b0f4-476d-a625-64213b36bf3b" xlink:to="loc_us-gaap_FinancialInstrumentAxis_055b5db7-f5b3-496f-8f7f-ee74199e9ee5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_055b5db7-f5b3-496f-8f7f-ee74199e9ee5_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancialInstrumentAxis_055b5db7-f5b3-496f-8f7f-ee74199e9ee5" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_055b5db7-f5b3-496f-8f7f-ee74199e9ee5_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_55accd45-adfb-4f7f-b065-da928d3ee88b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancialInstrumentAxis_055b5db7-f5b3-496f-8f7f-ee74199e9ee5" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_55accd45-adfb-4f7f-b065-da928d3ee88b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_b637940d-c9fb-4c5e-a105-b3df06f7d6e9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_55accd45-adfb-4f7f-b065-da928d3ee88b" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_b637940d-c9fb-4c5e-a105-b3df06f7d6e9" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AgencySecuritiesMember_2cc0a872-c64f-4fce-9923-06b6a7eb8201" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AgencySecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_55accd45-adfb-4f7f-b065-da928d3ee88b" xlink:to="loc_us-gaap_AgencySecuritiesMember_2cc0a872-c64f-4fce-9923-06b6a7eb8201" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_4b4b9cb4-11d7-49de-8110-7ed2fcc967de" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_55accd45-adfb-4f7f-b065-da928d3ee88b" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_4b4b9cb4-11d7-49de-8110-7ed2fcc967de" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails" xlink:type="extended" id="i71f8b63026614a6db3e9f76c3f94abdc_InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_c9f3c37c-6270-40ae-8b1a-c675f3e92bb6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain_47004253-5f87-4352-9ba6-cad2211d63b3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtSecuritiesAvailableForSaleRealizedGain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_c9f3c37c-6270-40ae-8b1a-c675f3e92bb6" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain_47004253-5f87-4352-9ba6-cad2211d63b3" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss_8dd86f58-45fe-4be7-a7a1-94e80d583d54" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_c9f3c37c-6270-40ae-8b1a-c675f3e92bb6" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss_8dd86f58-45fe-4be7-a7a1-94e80d583d54" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_eaa0b24f-e35f-4c11-8bb6-f0d2a7c610cf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_c9f3c37c-6270-40ae-8b1a-c675f3e92bb6" xlink:to="loc_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_eaa0b24f-e35f-4c11-8bb6-f0d2a7c610cf" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_8ab41447-80fc-4026-8474-dd798c047561" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_c9f3c37c-6270-40ae-8b1a-c675f3e92bb6" xlink:to="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_8ab41447-80fc-4026-8474-dd798c047561" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentIncomeInterest_0ac4f8de-8de9-4768-a50c-f8df14635903" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InvestmentIncomeInterest"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_c9f3c37c-6270-40ae-8b1a-c675f3e92bb6" xlink:to="loc_us-gaap_InvestmentIncomeInterest_0ac4f8de-8de9-4768-a50c-f8df14635903" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_7a8a3890-37b4-4638-a3ce-6bd9f5dd12da" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_c9f3c37c-6270-40ae-8b1a-c675f3e92bb6" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_7a8a3890-37b4-4638-a3ce-6bd9f5dd12da" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_5fcb183f-c33e-4064-b4dd-322ca414567c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_7a8a3890-37b4-4638-a3ce-6bd9f5dd12da" xlink:to="loc_us-gaap_FinancialInstrumentAxis_5fcb183f-c33e-4064-b4dd-322ca414567c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5fcb183f-c33e-4064-b4dd-322ca414567c_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancialInstrumentAxis_5fcb183f-c33e-4064-b4dd-322ca414567c" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5fcb183f-c33e-4064-b4dd-322ca414567c_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c26aba3b-49a5-4c4e-b8db-f96aa4c3b0a5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancialInstrumentAxis_5fcb183f-c33e-4064-b4dd-322ca414567c" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c26aba3b-49a5-4c4e-b8db-f96aa4c3b0a5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_515215c1-112f-455f-8140-69eee5c35a3a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c26aba3b-49a5-4c4e-b8db-f96aa4c3b0a5" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_515215c1-112f-455f-8140-69eee5c35a3a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AgencySecuritiesMember_d832b561-a8f9-4a6a-8d4f-27fbcc9e6fe9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AgencySecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c26aba3b-49a5-4c4e-b8db-f96aa4c3b0a5" xlink:to="loc_us-gaap_AgencySecuritiesMember_d832b561-a8f9-4a6a-8d4f-27fbcc9e6fe9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_db8ab488-2b2e-4b9a-9375-e4e32533074f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c26aba3b-49a5-4c4e-b8db-f96aa4c3b0a5" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_db8ab488-2b2e-4b9a-9375-e4e32533074f" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails" xlink:type="extended" id="i844368314370441286a952ca58e86569_InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_79413a5e-eb33-4e58-b421-96bfbebd2d14" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_aa85c737-a9e6-469a-8c60-94e2cb047578" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_79413a5e-eb33-4e58-b421-96bfbebd2d14" xlink:to="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_aa85c737-a9e6-469a-8c60-94e2cb047578" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_0ef3f39f-72df-4b64-b025-64203da58e79" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_79413a5e-eb33-4e58-b421-96bfbebd2d14" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_0ef3f39f-72df-4b64-b025-64203da58e79" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure_ffe00615-10d4-479c-886f-acc8c2afc3ba" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_79413a5e-eb33-4e58-b421-96bfbebd2d14" xlink:to="loc_us-gaap_AssetsFairValueDisclosure_ffe00615-10d4-479c-886f-acc8c2afc3ba" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_37feee92-bf1b-41c1-aec1-b5390e13b72d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_79413a5e-eb33-4e58-b421-96bfbebd2d14" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_37feee92-bf1b-41c1-aec1-b5390e13b72d" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_e24a5fb9-f844-4ac3-ac50-cbb89727c071" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_37feee92-bf1b-41c1-aec1-b5390e13b72d" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_e24a5fb9-f844-4ac3-ac50-cbb89727c071" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_e24a5fb9-f844-4ac3-ac50-cbb89727c071_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_e24a5fb9-f844-4ac3-ac50-cbb89727c071" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_e24a5fb9-f844-4ac3-ac50-cbb89727c071_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_919e5f1c-045e-41e7-b568-28fdd30f84e8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_e24a5fb9-f844-4ac3-ac50-cbb89727c071" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_919e5f1c-045e-41e7-b568-28fdd30f84e8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_a76337fa-a970-485d-aa61-62efb0e9becc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_919e5f1c-045e-41e7-b568-28fdd30f84e8" xlink:to="loc_us-gaap_FairValueMeasurementsRecurringMember_a76337fa-a970-485d-aa61-62efb0e9becc" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_84efa974-d7d4-4ddc-b7c7-6923ed6cf156" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_37feee92-bf1b-41c1-aec1-b5390e13b72d" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_84efa974-d7d4-4ddc-b7c7-6923ed6cf156" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_84efa974-d7d4-4ddc-b7c7-6923ed6cf156_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_84efa974-d7d4-4ddc-b7c7-6923ed6cf156" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_84efa974-d7d4-4ddc-b7c7-6923ed6cf156_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1136b7cb-e111-4f69-969b-dc4d2f3cc729" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_84efa974-d7d4-4ddc-b7c7-6923ed6cf156" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1136b7cb-e111-4f69-969b-dc4d2f3cc729" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_e8cd655e-3100-47ff-bbd7-688252d60c30" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1136b7cb-e111-4f69-969b-dc4d2f3cc729" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_e8cd655e-3100-47ff-bbd7-688252d60c30" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_925cc995-063f-4f0b-883d-6b3559359f97" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1136b7cb-e111-4f69-969b-dc4d2f3cc729" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_925cc995-063f-4f0b-883d-6b3559359f97" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_9272d9d8-9365-4f7e-9b7b-d5d73919c9cc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel3Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1136b7cb-e111-4f69-969b-dc4d2f3cc729" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_9272d9d8-9365-4f7e-9b7b-d5d73919c9cc" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAxis_aa94f66e-7caf-4ffd-b378-2bba98145122" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_37feee92-bf1b-41c1-aec1-b5390e13b72d" xlink:to="loc_us-gaap_CashAndCashEquivalentsAxis_aa94f66e-7caf-4ffd-b378-2bba98145122" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_aa94f66e-7caf-4ffd-b378-2bba98145122_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_aa94f66e-7caf-4ffd-b378-2bba98145122" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_aa94f66e-7caf-4ffd-b378-2bba98145122_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_0ff3ba9d-a354-467d-9edf-5d70774027a9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_aa94f66e-7caf-4ffd-b378-2bba98145122" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_0ff3ba9d-a354-467d-9edf-5d70774027a9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsMember_9221d6b7-0f8f-471e-b120-97706ed6d097" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MoneyMarketFundsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_0ff3ba9d-a354-467d-9edf-5d70774027a9" xlink:to="loc_us-gaap_MoneyMarketFundsMember_9221d6b7-0f8f-471e-b120-97706ed6d097" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperMember_7e1f13a6-2144-4fd3-8960-e9eded8ae056" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommercialPaperMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_0ff3ba9d-a354-467d-9edf-5d70774027a9" xlink:to="loc_us-gaap_CommercialPaperMember_7e1f13a6-2144-4fd3-8960-e9eded8ae056" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_eac5ea05-6b44-47f2-841a-7a692ee4f500" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_37feee92-bf1b-41c1-aec1-b5390e13b72d" xlink:to="loc_us-gaap_FinancialInstrumentAxis_eac5ea05-6b44-47f2-841a-7a692ee4f500" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_eac5ea05-6b44-47f2-841a-7a692ee4f500_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancialInstrumentAxis_eac5ea05-6b44-47f2-841a-7a692ee4f500" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_eac5ea05-6b44-47f2-841a-7a692ee4f500_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_f2e68ef7-b6c4-4e19-8812-14494b3eff18" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancialInstrumentAxis_eac5ea05-6b44-47f2-841a-7a692ee4f500" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_f2e68ef7-b6c4-4e19-8812-14494b3eff18" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_50a154fa-2650-40ff-9fb9-0cd091e89b75" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_f2e68ef7-b6c4-4e19-8812-14494b3eff18" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_50a154fa-2650-40ff-9fb9-0cd091e89b75" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AgencySecuritiesMember_c7e774ce-b113-4bdb-8367-46642b07ae10" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AgencySecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_f2e68ef7-b6c4-4e19-8812-14494b3eff18" xlink:to="loc_us-gaap_AgencySecuritiesMember_c7e774ce-b113-4bdb-8367-46642b07ae10" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_74be6d79-8ec2-4f07-83a6-a849967c413c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_f2e68ef7-b6c4-4e19-8812-14494b3eff18" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_74be6d79-8ec2-4f07-83a6-a849967c413c" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails" xlink:type="extended" id="ic85c06db1af647b4b769c36a327c8aa8_IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_0749d311-8045-4452-a37f-c7422aa40c0c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_a41c437c-900f-43df-bf5b-ee36f541e883" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_0749d311-8045-4452-a37f-c7422aa40c0c" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_a41c437c-900f-43df-bf5b-ee36f541e883" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_98527c05-2d30-4d9b-a96e-7ee49fa0dacc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_0749d311-8045-4452-a37f-c7422aa40c0c" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_98527c05-2d30-4d9b-a96e-7ee49fa0dacc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_fca87099-0850-466f-9ead-218ef62aa5c5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_0749d311-8045-4452-a37f-c7422aa40c0c" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_fca87099-0850-466f-9ead-218ef62aa5c5" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_afad91bc-41ec-4280-96d7-f3c7e251ecf1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_0749d311-8045-4452-a37f-c7422aa40c0c" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_afad91bc-41ec-4280-96d7-f3c7e251ecf1" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_710456cb-d594-41fc-87a1-bc88612d64e5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_0749d311-8045-4452-a37f-c7422aa40c0c" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_710456cb-d594-41fc-87a1-bc88612d64e5" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e05cbe6e-bd3c-4e08-90b1-54a57405b5fe" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_0749d311-8045-4452-a37f-c7422aa40c0c" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e05cbe6e-bd3c-4e08-90b1-54a57405b5fe" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_ab853148-e447-4205-b698-4865aa0bab84" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e05cbe6e-bd3c-4e08-90b1-54a57405b5fe" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_ab853148-e447-4205-b698-4865aa0bab84" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_ab853148-e447-4205-b698-4865aa0bab84_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_ab853148-e447-4205-b698-4865aa0bab84" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_ab853148-e447-4205-b698-4865aa0bab84_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1790c8e1-6a4e-426f-a39c-fc501d797c12" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_ab853148-e447-4205-b698-4865aa0bab84" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1790c8e1-6a4e-426f-a39c-fc501d797c12" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_84c299db-5e5f-46d5-9776-66a7d1effbe7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1790c8e1-6a4e-426f-a39c-fc501d797c12" xlink:to="loc_us-gaap_CustomerRelationshipsMember_84c299db-5e5f-46d5-9776-66a7d1effbe7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DatabaseMember_823ab78d-390d-42e1-bc4b-54981d7be942" xlink:href="appf-20210630.xsd#appf_DatabaseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1790c8e1-6a4e-426f-a39c-fc501d797c12" xlink:to="loc_appf_DatabaseMember_823ab78d-390d-42e1-bc4b-54981d7be942" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_TechnologyMember_0aeda57d-7e29-474a-9bc5-df4da68c9791" xlink:href="appf-20210630.xsd#appf_TechnologyMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1790c8e1-6a4e-426f-a39c-fc501d797c12" xlink:to="loc_appf_TechnologyMember_0aeda57d-7e29-474a-9bc5-df4da68c9791" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksAndTradeNamesMember_25c5cd68-8305-407b-ac60-fc956668b105" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TrademarksAndTradeNamesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1790c8e1-6a4e-426f-a39c-fc501d797c12" xlink:to="loc_us-gaap_TrademarksAndTradeNamesMember_25c5cd68-8305-407b-ac60-fc956668b105" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PartnerRelationshipsMember_e92e73d9-044e-42df-8a31-0394aa0cf3c5" xlink:href="appf-20210630.xsd#appf_PartnerRelationshipsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1790c8e1-6a4e-426f-a39c-fc501d797c12" xlink:to="loc_appf_PartnerRelationshipsMember_e92e73d9-044e-42df-8a31-0394aa0cf3c5" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncompeteAgreementsMember_4c5b3f61-b7f4-4457-abe1-d1f9fb3031c0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NoncompeteAgreementsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1790c8e1-6a4e-426f-a39c-fc501d797c12" xlink:to="loc_us-gaap_NoncompeteAgreementsMember_4c5b3f61-b7f4-4457-abe1-d1f9fb3031c0" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InternetDomainNamesMember_55c38c0a-4e37-418a-b4c1-87c538818cd2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InternetDomainNamesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1790c8e1-6a4e-426f-a39c-fc501d797c12" xlink:to="loc_us-gaap_InternetDomainNamesMember_55c38c0a-4e37-418a-b4c1-87c538818cd2" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PatentsMember_6a3313e6-aebf-44ed-b72e-eaccd3310805" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PatentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1790c8e1-6a4e-426f-a39c-fc501d797c12" xlink:to="loc_us-gaap_PatentsMember_6a3313e6-aebf-44ed-b72e-eaccd3310805" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_b0921610-6d0a-4a07-88a0-dd7becccae53" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e05cbe6e-bd3c-4e08-90b1-54a57405b5fe" xlink:to="loc_srt_RangeAxis_b0921610-6d0a-4a07-88a0-dd7becccae53" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_b0921610-6d0a-4a07-88a0-dd7becccae53_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_b0921610-6d0a-4a07-88a0-dd7becccae53" xlink:to="loc_srt_RangeMember_b0921610-6d0a-4a07-88a0-dd7becccae53_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_8820774c-17c1-4756-bd27-ad2655295f81" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_b0921610-6d0a-4a07-88a0-dd7becccae53" xlink:to="loc_srt_RangeMember_8820774c-17c1-4756-bd27-ad2655295f81" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_WeightedAverageMember_88faa0be-c653-4732-8598-ee93db58ed3a" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_WeightedAverageMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_8820774c-17c1-4756-bd27-ad2655295f81" xlink:to="loc_srt_WeightedAverageMember_88faa0be-c653-4732-8598-ee93db58ed3a" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/AccruedEmployeeExpensesNarrativeDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#AccruedEmployeeExpensesNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/AccruedEmployeeExpensesNarrativeDetails" xlink:type="extended" id="i130f840d7dc34d26a26a4be692a63070_AccruedEmployeeExpensesNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c14d36fd-badd-45fb-ad0e-3cf74a8af979" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_43006863-3275-4542-b99b-9ee22444e11f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c14d36fd-badd-45fb-ad0e-3cf74a8af979" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_43006863-3275-4542-b99b-9ee22444e11f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_EmployeeRelatedLiabilitiesNoncurrent_7bb441b9-6005-41e5-a962-c8f74804805c" xlink:href="appf-20210630.xsd#appf_EmployeeRelatedLiabilitiesNoncurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c14d36fd-badd-45fb-ad0e-3cf74a8af979" xlink:to="loc_appf_EmployeeRelatedLiabilitiesNoncurrent_7bb441b9-6005-41e5-a962-c8f74804805c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_4bc484d1-8ed3-46a0-8a3c-72775cf326a6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c14d36fd-badd-45fb-ad0e-3cf74a8af979" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_4bc484d1-8ed3-46a0-8a3c-72775cf326a6" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_95fb4a16-abee-4068-bc8a-e094c4bdf43e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_4bc484d1-8ed3-46a0-8a3c-72775cf326a6" xlink:to="loc_us-gaap_PlanNameAxis_95fb4a16-abee-4068-bc8a-e094c4bdf43e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_95fb4a16-abee-4068-bc8a-e094c4bdf43e_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_95fb4a16-abee-4068-bc8a-e094c4bdf43e" xlink:to="loc_us-gaap_PlanNameDomain_95fb4a16-abee-4068-bc8a-e094c4bdf43e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_a88b6bbc-62bf-439a-a3fb-5c4993133dd3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_95fb4a16-abee-4068-bc8a-e094c4bdf43e" xlink:to="loc_us-gaap_PlanNameDomain_a88b6bbc-62bf-439a-a3fb-5c4993133dd3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_A2021ThreeYearPlanMember_982e607d-e960-4b8c-a268-aa8cce538683" xlink:href="appf-20210630.xsd#appf_A2021ThreeYearPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_a88b6bbc-62bf-439a-a3fb-5c4993133dd3" xlink:to="loc_appf_A2021ThreeYearPlanMember_982e607d-e960-4b8c-a268-aa8cce538683" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/LeasesNarrativeDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#LeasesNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/LeasesNarrativeDetails" xlink:type="extended" id="i4971fd91570e40828ee3eb909288918e_LeasesNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionLineItems_69b8349a-dcbc-4fc8-ae9d-10fc8446af3a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeLeaseDescriptionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseTermOfContract_9554b46f-a301-4819-b679-f4e0706ab479" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseTermOfContract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_69b8349a-dcbc-4fc8-ae9d-10fc8446af3a" xlink:to="loc_us-gaap_LesseeOperatingLeaseTermOfContract_9554b46f-a301-4819-b679-f4e0706ab479" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeaseRenewalTerm_15094169-2a0a-4cd7-96d8-3506d09683fe" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LessorOperatingLeaseRenewalTerm"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_69b8349a-dcbc-4fc8-ae9d-10fc8446af3a" xlink:to="loc_us-gaap_LessorOperatingLeaseRenewalTerm_15094169-2a0a-4cd7-96d8-3506d09683fe" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionTable_1e251dd3-b28f-48ef-9d34-b86b70811228" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeLeaseDescriptionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_69b8349a-dcbc-4fc8-ae9d-10fc8446af3a" xlink:to="loc_us-gaap_LesseeLeaseDescriptionTable_1e251dd3-b28f-48ef-9d34-b86b70811228" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_69294a96-274e-4d28-9913-33757d36baa4" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_1e251dd3-b28f-48ef-9d34-b86b70811228" xlink:to="loc_srt_RangeAxis_69294a96-274e-4d28-9913-33757d36baa4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_69294a96-274e-4d28-9913-33757d36baa4_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_69294a96-274e-4d28-9913-33757d36baa4" xlink:to="loc_srt_RangeMember_69294a96-274e-4d28-9913-33757d36baa4_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_035ef0da-80cb-4923-ad2d-dc0fa7cd04df" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_69294a96-274e-4d28-9913-33757d36baa4" xlink:to="loc_srt_RangeMember_035ef0da-80cb-4923-ad2d-dc0fa7cd04df" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_3a91edf8-8021-44bb-b3a5-ae9c8e011aa9" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_035ef0da-80cb-4923-ad2d-dc0fa7cd04df" xlink:to="loc_srt_MinimumMember_3a91edf8-8021-44bb-b3a5-ae9c8e011aa9" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_c6a34639-7bd1-4a48-aeb3-0f0bc6593711" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_035ef0da-80cb-4923-ad2d-dc0fa7cd04df" xlink:to="loc_srt_MaximumMember_c6a34639-7bd1-4a48-aeb3-0f0bc6593711" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails" xlink:type="extended" id="i457ca7edf2ca4589acc1f04bb6b739d5_LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionLineItems_12c41fb9-36ca-4e90-a845-bc5a5089a1bf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeLeaseDescriptionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LesseeOperatingLeaseTenantAllowanceRemainderOfFiscalYear_580a97e1-bfd3-4ec1-ab32-3eb21d1f804c" xlink:href="appf-20210630.xsd#appf_LesseeOperatingLeaseTenantAllowanceRemainderOfFiscalYear"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_12c41fb9-36ca-4e90-a845-bc5a5089a1bf" xlink:to="loc_appf_LesseeOperatingLeaseTenantAllowanceRemainderOfFiscalYear_580a97e1-bfd3-4ec1-ab32-3eb21d1f804c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LesseeOperatingLeaseTenantAllowanceYearOne_2e322a46-2769-4b35-b944-ccb0a931d2e2" xlink:href="appf-20210630.xsd#appf_LesseeOperatingLeaseTenantAllowanceYearOne"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_12c41fb9-36ca-4e90-a845-bc5a5089a1bf" xlink:to="loc_appf_LesseeOperatingLeaseTenantAllowanceYearOne_2e322a46-2769-4b35-b944-ccb0a931d2e2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LesseeOperatingLeaseTenantAllowanceYearTwo_fea429cf-a227-4f6d-975c-19ca65d95dc3" xlink:href="appf-20210630.xsd#appf_LesseeOperatingLeaseTenantAllowanceYearTwo"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_12c41fb9-36ca-4e90-a845-bc5a5089a1bf" xlink:to="loc_appf_LesseeOperatingLeaseTenantAllowanceYearTwo_fea429cf-a227-4f6d-975c-19ca65d95dc3" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LesseeOperatingLeaseTenantAllowanceYearThree_e970b768-13de-4bc4-872b-c7fb7cbf9b4c" xlink:href="appf-20210630.xsd#appf_LesseeOperatingLeaseTenantAllowanceYearThree"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_12c41fb9-36ca-4e90-a845-bc5a5089a1bf" xlink:to="loc_appf_LesseeOperatingLeaseTenantAllowanceYearThree_e970b768-13de-4bc4-872b-c7fb7cbf9b4c" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_c96c0805-40d8-4e76-a26b-ec8ce769e268" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_12c41fb9-36ca-4e90-a845-bc5a5089a1bf" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_c96c0805-40d8-4e76-a26b-ec8ce769e268" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionTable_23525736-daf7-4978-b0c8-0b612a7bd347" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeLeaseDescriptionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_12c41fb9-36ca-4e90-a845-bc5a5089a1bf" xlink:to="loc_us-gaap_LesseeLeaseDescriptionTable_23525736-daf7-4978-b0c8-0b612a7bd347" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_52f64c3a-8582-447c-a163-566028c42c30" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BalanceSheetLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_23525736-daf7-4978-b0c8-0b612a7bd347" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_52f64c3a-8582-447c-a163-566028c42c30" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_52f64c3a-8582-447c-a163-566028c42c30_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_52f64c3a-8582-447c-a163-566028c42c30" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_52f64c3a-8582-447c-a163-566028c42c30_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_4036bf3c-ccae-4805-9cdf-a5f915fdf9fa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_52f64c3a-8582-447c-a163-566028c42c30" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_4036bf3c-ccae-4805-9cdf-a5f915fdf9fa" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_57d85cb3-cbdf-4012-9ad7-907148ceb353" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_4036bf3c-ccae-4805-9cdf-a5f915fdf9fa" xlink:to="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_57d85cb3-cbdf-4012-9ad7-907148ceb353" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CommitmentsandContingenciesDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#CommitmentsandContingenciesDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/CommitmentsandContingenciesDetails" xlink:type="extended" id="i2b3bbd9894104ecd80f75e69a56d1c17_CommitmentsandContingenciesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingenciesLineItems_3d21855e-1f5f-4819-a162-81bd5b87a0d7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LossContingenciesLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit_87147122-cf7b-4d86-8943-56336f309633" xlink:href="appf-20210630.xsd#appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LossContingenciesLineItems_3d21855e-1f5f-4819-a162-81bd5b87a0d7" xlink:to="loc_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit_87147122-cf7b-4d86-8943-56336f309633" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage_25a90dfe-58cc-45ea-b4fb-5ff144e43b84" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LossContingenciesLineItems_3d21855e-1f5f-4819-a162-81bd5b87a0d7" xlink:to="loc_us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage_25a90dfe-58cc-45ea-b4fb-5ff144e43b84" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability_7f35929a-da84-45c0-a49b-67289b6d275a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LossContingenciesLineItems_3d21855e-1f5f-4819-a162-81bd5b87a0d7" xlink:to="loc_us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability_7f35929a-da84-45c0-a49b-67289b6d275a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices_4fec7da4-6dc0-4910-98de-3e1c03c065b1" xlink:href="appf-20210630.xsd#appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LossContingenciesLineItems_3d21855e-1f5f-4819-a162-81bd5b87a0d7" xlink:to="loc_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices_4fec7da4-6dc0-4910-98de-3e1c03c065b1" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingenciesTable_34b6a644-88ef-4152-8ab2-32f1fe046ec2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LossContingenciesTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_LossContingenciesLineItems_3d21855e-1f5f-4819-a162-81bd5b87a0d7" xlink:to="loc_us-gaap_LossContingenciesTable_34b6a644-88ef-4152-8ab2-32f1fe046ec2" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_49f34b55-a595-40a1-b40a-0c7e08186b15" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BalanceSheetLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LossContingenciesTable_34b6a644-88ef-4152-8ab2-32f1fe046ec2" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_49f34b55-a595-40a1-b40a-0c7e08186b15" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_49f34b55-a595-40a1-b40a-0c7e08186b15_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_49f34b55-a595-40a1-b40a-0c7e08186b15" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_49f34b55-a595-40a1-b40a-0c7e08186b15_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_61b5755d-b1e1-4ca4-952f-a0fb75ec4a6f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_49f34b55-a595-40a1-b40a-0c7e08186b15" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_61b5755d-b1e1-4ca4-952f-a0fb75ec4a6f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherCurrentLiabilitiesMember_85e528ab-0d9b-4988-9cf8-00d3f3245ced" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherCurrentLiabilitiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_61b5755d-b1e1-4ca4-952f-a0fb75ec4a6f" xlink:to="loc_us-gaap_OtherCurrentLiabilitiesMember_85e528ab-0d9b-4988-9cf8-00d3f3245ced" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherCurrentAssetsMember_f4030d3d-fc0e-4b3b-ba57-5c8d2958b14a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherCurrentAssetsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_61b5755d-b1e1-4ca4-952f-a0fb75ec4a6f" xlink:to="loc_us-gaap_OtherCurrentAssetsMember_f4030d3d-fc0e-4b3b-ba57-5c8d2958b14a" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#StockBasedCompensationRestrictedStockUnitsActivityDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails" xlink:type="extended" id="i47d6f69f7aab4ad9a104ffa2b98964d7_StockBasedCompensationRestrictedStockUnitsActivityDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_65371620-c5a2-456d-bde9-3dfb7b033f10" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_c3b806df-45bf-4488-bd78-8e844f9a6e3a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_65371620-c5a2-456d-bde9-3dfb7b033f10" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_c3b806df-45bf-4488-bd78-8e844f9a6e3a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_55036693-3ceb-47c3-af32-e99e3af4eb48" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_c3b806df-45bf-4488-bd78-8e844f9a6e3a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_55036693-3ceb-47c3-af32-e99e3af4eb48" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_7aa59980-4549-4d02-a443-cb301c5e6a32" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_c3b806df-45bf-4488-bd78-8e844f9a6e3a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_7aa59980-4549-4d02-a443-cb301c5e6a32" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_101dbbbb-8814-4d51-a7a5-f862742471eb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_c3b806df-45bf-4488-bd78-8e844f9a6e3a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_101dbbbb-8814-4d51-a7a5-f862742471eb" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_2dc93495-a094-4231-914b-9d7b1ef59406" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_c3b806df-45bf-4488-bd78-8e844f9a6e3a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_2dc93495-a094-4231-914b-9d7b1ef59406" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_ddaea853-36c1-40c4-afbb-c41f6b92a8aa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_1f3cb401-07a6-4ed4-a62e-d77d0060c012" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_65371620-c5a2-456d-bde9-3dfb7b033f10" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_1f3cb401-07a6-4ed4-a62e-d77d0060c012" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_61be8327-6965-40f2-92de-e1165bfb2bd6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_1f3cb401-07a6-4ed4-a62e-d77d0060c012" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_61be8327-6965-40f2-92de-e1165bfb2bd6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_f432afac-2ad1-4394-aefd-eb3190499002" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_1f3cb401-07a6-4ed4-a62e-d77d0060c012" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_f432afac-2ad1-4394-aefd-eb3190499002" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_e85c7b47-50df-4865-ac9b-7d2696b83299" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_1f3cb401-07a6-4ed4-a62e-d77d0060c012" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_e85c7b47-50df-4865-ac9b-7d2696b83299" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_d6da47b9-a383-43f7-ab7b-93d48afdb651" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_1f3cb401-07a6-4ed4-a62e-d77d0060c012" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_d6da47b9-a383-43f7-ab7b-93d48afdb651" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_838c8f59-793a-465a-bab6-ad54829af36e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_0855305d-4729-410e-bbe8-06d1aaf90942" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_65371620-c5a2-456d-bde9-3dfb7b033f10" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_0855305d-4729-410e-bbe8-06d1aaf90942" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_de227b64-03dd-4028-b174-ee97eff4c946" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_0855305d-4729-410e-bbe8-06d1aaf90942" xlink:to="loc_us-gaap_AwardTypeAxis_de227b64-03dd-4028-b174-ee97eff4c946" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_de227b64-03dd-4028-b174-ee97eff4c946_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_de227b64-03dd-4028-b174-ee97eff4c946" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_de227b64-03dd-4028-b174-ee97eff4c946_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1154aa23-2316-4a1c-9f09-b161691e9934" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_de227b64-03dd-4028-b174-ee97eff4c946" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1154aa23-2316-4a1c-9f09-b161691e9934" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_5ebbced8-a88c-4c81-85a8-f6e029226e75" xlink:href="appf-20210630.xsd#appf_RestrictedStockUnitsAndPerformanceStockUnitsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1154aa23-2316-4a1c-9f09-b161691e9934" xlink:to="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_5ebbced8-a88c-4c81-85a8-f6e029226e75" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#StockBasedCompensationRestrictedStockUnitsDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails" xlink:type="extended" id="if0f9d30f13b44e6e9b05fcccf9798865_StockBasedCompensationRestrictedStockUnitsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_848f753f-2627-445b-90dd-5598468db676" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_a871a22f-c207-4a6d-923f-4220bbe5f5de" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_848f753f-2627-445b-90dd-5598468db676" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_a871a22f-c207-4a6d-923f-4220bbe5f5de" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_d7c1b027-ec5a-4d63-9300-06ec119ce2d2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_848f753f-2627-445b-90dd-5598468db676" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_d7c1b027-ec5a-4d63-9300-06ec119ce2d2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric_99aeb09b-06d0-4dcc-a980-a48786ce94e9" xlink:href="appf-20210630.xsd#appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_848f753f-2627-445b-90dd-5598468db676" xlink:to="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric_99aeb09b-06d0-4dcc-a980-a48786ce94e9" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent_6bef0a1a-df43-44e2-9bf6-193bb9b02d15" xlink:href="appf-20210630.xsd#appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_848f753f-2627-445b-90dd-5598468db676" xlink:to="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent_6bef0a1a-df43-44e2-9bf6-193bb9b02d15" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_c164b664-9749-434b-88f2-0c7ecc45c69c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_848f753f-2627-445b-90dd-5598468db676" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_c164b664-9749-434b-88f2-0c7ecc45c69c" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric_69459c81-141f-4a76-bbbc-4b0a478249df" xlink:href="appf-20210630.xsd#appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_848f753f-2627-445b-90dd-5598468db676" xlink:to="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric_69459c81-141f-4a76-bbbc-4b0a478249df" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets_3cba1242-aa4b-4180-a163-4d1346d5c61a" xlink:href="appf-20210630.xsd#appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_848f753f-2627-445b-90dd-5598468db676" xlink:to="loc_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets_3cba1242-aa4b-4180-a163-4d1346d5c61a" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_56c02d4e-acaf-416a-b9bc-f1dcb1fea5bc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_848f753f-2627-445b-90dd-5598468db676" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_56c02d4e-acaf-416a-b9bc-f1dcb1fea5bc" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_9206a3cf-cde9-46cc-9fdd-964adc6e706a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_848f753f-2627-445b-90dd-5598468db676" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_9206a3cf-cde9-46cc-9fdd-964adc6e706a" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_f7f68679-8bf4-43a9-9914-d5770e71bf8f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_848f753f-2627-445b-90dd-5598468db676" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_f7f68679-8bf4-43a9-9914-d5770e71bf8f" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_4595ec81-b2e2-482c-ba0d-7ff62d4c8156" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_848f753f-2627-445b-90dd-5598468db676" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_4595ec81-b2e2-482c-ba0d-7ff62d4c8156" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_9d07d4a4-fd44-4cf1-b806-168c436ac981" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_4595ec81-b2e2-482c-ba0d-7ff62d4c8156" xlink:to="loc_us-gaap_AwardTypeAxis_9d07d4a4-fd44-4cf1-b806-168c436ac981" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_9d07d4a4-fd44-4cf1-b806-168c436ac981_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_9d07d4a4-fd44-4cf1-b806-168c436ac981" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_9d07d4a4-fd44-4cf1-b806-168c436ac981_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f7d81c8e-1192-43f6-972a-30fc9ece4a75" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_9d07d4a4-fd44-4cf1-b806-168c436ac981" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f7d81c8e-1192-43f6-972a-30fc9ece4a75" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_208853a5-786c-4f45-a293-b2f444d59911" xlink:href="appf-20210630.xsd#appf_RestrictedStockUnitsAndPerformanceStockUnitsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f7d81c8e-1192-43f6-972a-30fc9ece4a75" xlink:to="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_208853a5-786c-4f45-a293-b2f444d59911" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_fd2bfff4-9e24-4fef-adb5-27dbae97afba" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_208853a5-786c-4f45-a293-b2f444d59911" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_fd2bfff4-9e24-4fef-adb5-27dbae97afba" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsMember_7186eb46-c141-4040-be4f-29a0e456e42d" xlink:href="appf-20210630.xsd#appf_PerformanceStockUnitsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_208853a5-786c-4f45-a293-b2f444d59911" xlink:to="loc_appf_PerformanceStockUnitsMember_7186eb46-c141-4040-be4f-29a0e456e42d" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsGrantedIn2021Member_c41a170d-1773-4175-8520-d5be925286fa" xlink:href="appf-20210630.xsd#appf_PerformanceStockUnitsGrantedIn2021Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_appf_PerformanceStockUnitsMember_7186eb46-c141-4040-be4f-29a0e456e42d" xlink:to="loc_appf_PerformanceStockUnitsGrantedIn2021Member_c41a170d-1773-4175-8520-d5be925286fa" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsGrantedIn2020Member_21c9cf29-ae6d-4777-b311-c5bda8796918" xlink:href="appf-20210630.xsd#appf_PerformanceStockUnitsGrantedIn2020Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_appf_PerformanceStockUnitsMember_7186eb46-c141-4040-be4f-29a0e456e42d" xlink:to="loc_appf_PerformanceStockUnitsGrantedIn2020Member_21c9cf29-ae6d-4777-b311-c5bda8796918" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsGrantedin2019Member_d4930ada-15d7-4053-8345-237b9a099b39" xlink:href="appf-20210630.xsd#appf_PerformanceStockUnitsGrantedin2019Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_appf_PerformanceStockUnitsMember_7186eb46-c141-4040-be4f-29a0e456e42d" xlink:to="loc_appf_PerformanceStockUnitsGrantedin2019Member_d4930ada-15d7-4053-8345-237b9a099b39" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsGrantedin2018Member_edc12343-401d-4f67-a00b-bc47dad2a33c" xlink:href="appf-20210630.xsd#appf_PerformanceStockUnitsGrantedin2018Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_appf_PerformanceStockUnitsMember_7186eb46-c141-4040-be4f-29a0e456e42d" xlink:to="loc_appf_PerformanceStockUnitsGrantedin2018Member_edc12343-401d-4f67-a00b-bc47dad2a33c" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsGrantedin2019and2018Member_1f45824e-49f8-430e-8ae9-65efebf17fd5" xlink:href="appf-20210630.xsd#appf_PerformanceStockUnitsGrantedin2019and2018Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_appf_PerformanceStockUnitsMember_7186eb46-c141-4040-be4f-29a0e456e42d" xlink:to="loc_appf_PerformanceStockUnitsGrantedin2019and2018Member_1f45824e-49f8-430e-8ae9-65efebf17fd5" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_c6127567-1d18-4943-b2c0-7b4a4785e3b4" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_4595ec81-b2e2-482c-ba0d-7ff62d4c8156" xlink:to="loc_srt_RangeAxis_c6127567-1d18-4943-b2c0-7b4a4785e3b4" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_c6127567-1d18-4943-b2c0-7b4a4785e3b4_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_c6127567-1d18-4943-b2c0-7b4a4785e3b4" xlink:to="loc_srt_RangeMember_c6127567-1d18-4943-b2c0-7b4a4785e3b4_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_d9bd9464-fa47-4bf7-85ad-5b459a695cfe" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_c6127567-1d18-4943-b2c0-7b4a4785e3b4" xlink:to="loc_srt_RangeMember_d9bd9464-fa47-4bf7-85ad-5b459a695cfe" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_f8b2a9d4-b976-47bc-884b-b006a89eb6fa" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_d9bd9464-fa47-4bf7-85ad-5b459a695cfe" xlink:to="loc_srt_MinimumMember_f8b2a9d4-b976-47bc-884b-b006a89eb6fa" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_ab10dcd7-d710-495d-bd1c-1ca1df85305a" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_d9bd9464-fa47-4bf7-85ad-5b459a695cfe" xlink:to="loc_srt_MaximumMember_ab10dcd7-d710-495d-bd1c-1ca1df85305a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingAxis_80f88833-ffb2-4857-9c3f-d6f5272f33c7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VestingAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_4595ec81-b2e2-482c-ba0d-7ff62d4c8156" xlink:to="loc_us-gaap_VestingAxis_80f88833-ffb2-4857-9c3f-d6f5272f33c7" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain_80f88833-ffb2-4857-9c3f-d6f5272f33c7_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VestingDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_VestingAxis_80f88833-ffb2-4857-9c3f-d6f5272f33c7" xlink:to="loc_us-gaap_VestingDomain_80f88833-ffb2-4857-9c3f-d6f5272f33c7_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain_8249af56-60b2-45e6-adc0-e082b2e1f66c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VestingDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_VestingAxis_80f88833-ffb2-4857-9c3f-d6f5272f33c7" xlink:to="loc_us-gaap_VestingDomain_8249af56-60b2-45e6-adc0-e082b2e1f66c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_cb2bf530-7277-43bd-86f8-581aab4072a7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VestingDomain_8249af56-60b2-45e6-adc0-e082b2e1f66c" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_cb2bf530-7277-43bd-86f8-581aab4072a7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_1a9a4ea0-5c38-4f50-9ecc-5de691e7eec5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VestingDomain_8249af56-60b2-45e6-adc0-e082b2e1f66c" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_1a9a4ea0-5c38-4f50-9ecc-5de691e7eec5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheThreeMember_27c014ab-a4dc-4b45-a0f3-a78e26065237" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheThreeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VestingDomain_8249af56-60b2-45e6-adc0-e082b2e1f66c" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheThreeMember_27c014ab-a4dc-4b45-a0f3-a78e26065237" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualAxis_69601015-b214-42ef-a3c8-88cb98aa94c9" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_4595ec81-b2e2-482c-ba0d-7ff62d4c8156" xlink:to="loc_srt_TitleOfIndividualAxis_69601015-b214-42ef-a3c8-88cb98aa94c9" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_69601015-b214-42ef-a3c8-88cb98aa94c9_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_TitleOfIndividualAxis_69601015-b214-42ef-a3c8-88cb98aa94c9" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_69601015-b214-42ef-a3c8-88cb98aa94c9_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_877ce095-3e95-4236-8516-b9450bbc2680" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_TitleOfIndividualAxis_69601015-b214-42ef-a3c8-88cb98aa94c9" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_877ce095-3e95-4236-8516-b9450bbc2680" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ExecutiveOfficerMember_9d375655-c3f5-4626-a01c-331399fc3add" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ExecutiveOfficerMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_877ce095-3e95-4236-8516-b9450bbc2680" xlink:to="loc_srt_ExecutiveOfficerMember_9d375655-c3f5-4626-a01c-331399fc3add" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#StockBasedCompensationRestrictedStockAwardsDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails" xlink:type="extended" id="idf5347f65f9d444e8988f296aaf1d94e_StockBasedCompensationRestrictedStockAwardsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9843f6d2-b079-407a-9339-962c3b785126" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cd87421e-a351-4c02-a05b-423166dce9c4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9843f6d2-b079-407a-9339-962c3b785126" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cd87421e-a351-4c02-a05b-423166dce9c4" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_5de1938e-f682-4e88-bd96-4807d4186db1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cd87421e-a351-4c02-a05b-423166dce9c4" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_5de1938e-f682-4e88-bd96-4807d4186db1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_79421b3e-70d0-4bf9-a798-459e32779bc9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cd87421e-a351-4c02-a05b-423166dce9c4" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_79421b3e-70d0-4bf9-a798-459e32779bc9" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_85274a14-1f73-4e45-b910-50581e5d77c9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cd87421e-a351-4c02-a05b-423166dce9c4" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_85274a14-1f73-4e45-b910-50581e5d77c9" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_2d9f1d3e-9a5e-4687-bb30-614a71cd8c07" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cd87421e-a351-4c02-a05b-423166dce9c4" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_2d9f1d3e-9a5e-4687-bb30-614a71cd8c07" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_7e7a7b17-bebf-4620-b647-061ecd4e81e2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract_99b8c211-83c0-4424-8b86-0a5878000891" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9843f6d2-b079-407a-9339-962c3b785126" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract_99b8c211-83c0-4424-8b86-0a5878000891" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_1e1b3166-48a7-4e24-ba5d-aa36c59ceace" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract_99b8c211-83c0-4424-8b86-0a5878000891" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_1e1b3166-48a7-4e24-ba5d-aa36c59ceace" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_da6c85d0-dce2-4ba4-9a03-4f7b1a42f370" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract_99b8c211-83c0-4424-8b86-0a5878000891" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_da6c85d0-dce2-4ba4-9a03-4f7b1a42f370" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_98ca9761-b206-40b2-9504-c01e020d22d8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract_99b8c211-83c0-4424-8b86-0a5878000891" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_98ca9761-b206-40b2-9504-c01e020d22d8" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_e317b4b2-6855-4b2d-8861-46af9c6c71df" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract_99b8c211-83c0-4424-8b86-0a5878000891" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_e317b4b2-6855-4b2d-8861-46af9c6c71df" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_af15a3a3-4ca7-4fdf-8beb-7a0f8615e76a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_2d6bb71b-174a-483c-918e-91b4f1cec2fc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9843f6d2-b079-407a-9339-962c3b785126" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_2d6bb71b-174a-483c-918e-91b4f1cec2fc" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_0752b9c0-64d6-4c33-bf0b-2c1197c390c4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9843f6d2-b079-407a-9339-962c3b785126" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_0752b9c0-64d6-4c33-bf0b-2c1197c390c4" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_b0c8d854-d102-412d-aa0d-150f0501a7e5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9843f6d2-b079-407a-9339-962c3b785126" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_b0c8d854-d102-412d-aa0d-150f0501a7e5" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_27583bfc-a63a-4b2b-bd7e-827cc03e359d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9843f6d2-b079-407a-9339-962c3b785126" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_27583bfc-a63a-4b2b-bd7e-827cc03e359d" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_0a346a10-417f-4fc3-bf08-f40ace5b29d8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9843f6d2-b079-407a-9339-962c3b785126" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_0a346a10-417f-4fc3-bf08-f40ace5b29d8" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_6059374d-986f-4968-9e9c-d313dede6b64" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_0a346a10-417f-4fc3-bf08-f40ace5b29d8" xlink:to="loc_us-gaap_AwardTypeAxis_6059374d-986f-4968-9e9c-d313dede6b64" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_6059374d-986f-4968-9e9c-d313dede6b64_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_6059374d-986f-4968-9e9c-d313dede6b64" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_6059374d-986f-4968-9e9c-d313dede6b64_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_3425b1aa-b755-4f1f-93a9-405aee7e4fdf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_6059374d-986f-4968-9e9c-d313dede6b64" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_3425b1aa-b755-4f1f-93a9-405aee7e4fdf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_c9927e59-4ab1-4390-87cb-9e86d8b1adb2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_3425b1aa-b755-4f1f-93a9-405aee7e4fdf" xlink:to="loc_us-gaap_RestrictedStockMember_c9927e59-4ab1-4390-87cb-9e86d8b1adb2" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/RevenueandOtherInformationDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#RevenueandOtherInformationDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/RevenueandOtherInformationDetails" xlink:type="extended" id="i7bbefc8217634ca780706b1c9150b788_RevenueandOtherInformationDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_b459766c-b062-4369-a0ea-a3eff84ab8b0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_23e02729-8e77-46a8-ae2c-fa9880b061f5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_b459766c-b062-4369-a0ea-a3eff84ab8b0" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_23e02729-8e77-46a8-ae2c-fa9880b061f5" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_9a50786b-f27a-4d17-8646-396b3d5914bf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_b459766c-b062-4369-a0ea-a3eff84ab8b0" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_9a50786b-f27a-4d17-8646-396b3d5914bf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_df9aaaac-f702-4267-8aad-41c9c3ea6d2a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_b459766c-b062-4369-a0ea-a3eff84ab8b0" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_df9aaaac-f702-4267-8aad-41c9c3ea6d2a" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_e64b98aa-5947-4f5b-accb-45e828d0de89" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_df9aaaac-f702-4267-8aad-41c9c3ea6d2a" xlink:to="loc_srt_ProductOrServiceAxis_e64b98aa-5947-4f5b-accb-45e828d0de89" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_e64b98aa-5947-4f5b-accb-45e828d0de89_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_e64b98aa-5947-4f5b-accb-45e828d0de89" xlink:to="loc_srt_ProductsAndServicesDomain_e64b98aa-5947-4f5b-accb-45e828d0de89_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_2719e8d3-5ab0-4815-896d-43940149bc9d" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_e64b98aa-5947-4f5b-accb-45e828d0de89" xlink:to="loc_srt_ProductsAndServicesDomain_2719e8d3-5ab0-4815-896d-43940149bc9d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CoreSolutionsMember_7a622e15-d45a-465b-b904-0d8cd56f77a7" xlink:href="appf-20210630.xsd#appf_CoreSolutionsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_2719e8d3-5ab0-4815-896d-43940149bc9d" xlink:to="loc_appf_CoreSolutionsMember_7a622e15-d45a-465b-b904-0d8cd56f77a7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ValuePlusServicesMember_fdee5206-1302-4a62-8409-c07454fca620" xlink:href="appf-20210630.xsd#appf_ValuePlusServicesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_2719e8d3-5ab0-4815-896d-43940149bc9d" xlink:to="loc_appf_ValuePlusServicesMember_fdee5206-1302-4a62-8409-c07454fca620" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_OtherServicesMember_a5b088d6-8466-470b-b250-4897433243ca" xlink:href="appf-20210630.xsd#appf_OtherServicesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_2719e8d3-5ab0-4815-896d-43940149bc9d" xlink:to="loc_appf_OtherServicesMember_a5b088d6-8466-470b-b250-4897433243ca" xlink:type="arc" order="2"/>
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>9
<FILENAME>appf-20210630_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2021 Workiva-->
<!--r:37da0c4e-e9f4-4889-837f-b75c37440ddd,g:52117fbf-c0b2-4806-85da-e7b4fd96bdf9-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel"/>
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <link:label id="lab_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings_7eff7e0c-fc2d-4fef-b376-aaf9bf1efb3d_terseLabel_en-US" xlink:label="lab_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting of restricted stock units, net of shares withheld for taxes (in shares)</link:label>
    <link:label id="lab_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings_label_en-US" xlink:label="lab_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units, Shares Issued Net Of Shares For Tax Withholdings</link:label>
    <link:label id="lab_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings_documentation_en-US" xlink:label="lab_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units, Shares Issued Net Of Shares For Tax Withholdings</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings" xlink:href="appf-20210630.xsd#appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings" xlink:to="lab_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_3092d1a9-a5e2-4886-aca7-060827b95cea_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share repurchase program, authorized amount</link:label>
    <link:label id="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_label_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchase Program, Authorized Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:to="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability_015e1eeb-09f5-4ff6-a016-07f836aeeb0e_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liability for reported claims and claims incurred but not reported</link:label>
    <link:label id="lab_us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability_label_en-US" xlink:label="lab_us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liability for Claims and Claims Adjustment Expense, Property Casualty Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability" xlink:to="lab_us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1_1cc59783-0e78-4368-bb34-a72be6582c6c_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill divested</link:label>
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1_label_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Goodwill</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1" xlink:to="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerSharePolicyTextBlock_8cdc94f5-1b53-45a6-8998-572b1c5bdf8e_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Income per Common Share</link:label>
    <link:label id="lab_us-gaap_EarningsPerSharePolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerSharePolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerSharePolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_f6f45c7b-f9f4-4acf-b69c-0f55f167a27f_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_310cdb15-b349-4122-83c6-d6c4c32f7fed_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based compensation options vested in period (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TrademarksAndTradeNamesMember_425379dc-be87-4f64-8955-a6c5eaa5ce94_verboseLabel_en-US" xlink:label="lab_us-gaap_TrademarksAndTradeNamesMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trademarks and trade names</link:label>
    <link:label id="lab_us-gaap_TrademarksAndTradeNamesMember_label_en-US" xlink:label="lab_us-gaap_TrademarksAndTradeNamesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trademarks and Trade Names [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksAndTradeNamesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TrademarksAndTradeNamesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TrademarksAndTradeNamesMember" xlink:to="lab_us-gaap_TrademarksAndTradeNamesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_4d81770e-2574-4350-a300-a9ee04c319d0_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Domain]</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetIncomeLoss_478085cd-3614-4b14-9694-9555e227df82_totalLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_2bd65052-0507-406b-ab37-fe2495a32fa1_verboseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_81ccf5f6-e7b1-4ffa-8ce2-1bcd0661008e_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_label_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Income (Loss) Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLoss" xlink:to="lab_us-gaap_NetIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_f1d9a2c1-dec0-4d76-a92a-af475d77d283_terseLabel_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_label_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityEmergingGrowthCompany" xlink:to="lab_dei_EntityEmergingGrowthCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_c90e03eb-f7ee-411c-9d63-8cc18d6af60e_verboseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease right-of-use assets</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_d35d2384-5478-41a5-beaf-d42aa4c0aca4_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease right-of-use assets</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Right-of-Use Asset</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_68e16287-ebff-4676-aa0d-620700842fd0_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment securities&#8212;current</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesOutstanding_c9af8811-0904-45a8-a2ad-862364e9cc37_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, shares outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesOutstanding" xlink:to="lab_us-gaap_PreferredStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent_51b1b7ea-e617-4c4d-86e8-ac214e8eab85_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued employee expenses&#8212;current</link:label>
    <link:label id="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent_f00d2544-1f8e-47be-90c4-e80ec8823fca_totalLabel_en-US" xlink:label="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total accrued employee expenses&#8212;current</link:label>
    <link:label id="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee-related Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:to="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_0fba060b-7b8e-47a3-943a-47767b01f9fa_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Amortization</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RangeMember_bad67ad9-7ea9-4f25-9696-6ccda5cac7da_terseLabel_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:label id="lab_srt_RangeMember_label_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeMember" xlink:to="lab_srt_RangeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressAddressLine1_f6ea06c6-2c95-4752-9c28-e873548f7498_terseLabel_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:label id="lab_dei_EntityAddressAddressLine1_label_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityAddressAddressLine1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressAddressLine1" xlink:to="lab_dei_EntityAddressAddressLine1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_cc71137c-dd31-4806-9cf7-1906db062ef5_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consideration for disposal of subsidiary</link:label>
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_label_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Consideration</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration" xlink:to="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_9e1ac7a0-7cdc-42b4-bf83-024dd6449cf1_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forfeited (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashDivestedFromDeconsolidation_7f3fe5da-3949-47e0-9cec-8a3dd9d4e6c1_terseLabel_en-US" xlink:label="lab_us-gaap_CashDivestedFromDeconsolidation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash divested</link:label>
    <link:label id="lab_us-gaap_CashDivestedFromDeconsolidation_label_en-US" xlink:label="lab_us-gaap_CashDivestedFromDeconsolidation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash Divested from Deconsolidation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashDivestedFromDeconsolidation" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashDivestedFromDeconsolidation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashDivestedFromDeconsolidation" xlink:to="lab_us-gaap_CashDivestedFromDeconsolidation" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne_22c922ec-3829-4eca-98d8-338406aee769_terseLabel_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022</link:label>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne_label_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Amortization Expense, Year One</link:label>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne_documentation_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Amortization Expense, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne" xlink:href="appf-20210630.xsd#appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne" xlink:to="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_850edc17-70cd-4e04-a1de-e86ea53c6896_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment of contingent consideration</link:label>
    <link:label id="lab_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_label_en-US" xlink:label="lab_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment for Contingent Consideration Liability, Financing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:to="lab_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFilerCategory_c6f324a5-20af-48e7-bd43-f92b9e08258b_terseLabel_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Filer Category</link:label>
    <link:label id="lab_dei_EntityFilerCategory_label_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Filer Category</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityFilerCategory"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFilerCategory" xlink:to="lab_dei_EntityFilerCategory" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_d3852d14-74b0-44c4-80c7-00d748c593bf_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other long-term assets</link:label>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_label_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Assets, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsNoncurrent" xlink:to="lab_us-gaap_OtherAssetsNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b3a42344-d34a-4ceb-be38-7560e710129b_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_3ffc38a3-26a5-4515-b0ef-6eedd891e098_totalLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net (decrease) increase in cash, cash equivalents and restricted cash</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_0a5fd0bf-64f1-4c62-9ff9-0538f3d60e4b_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">APIC, Share-based Payment Arrangement, Increase for Cost Recognition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_dc912b08-3a8d-4489-8024-ea736faf6379_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income tax payable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Income Taxes Payable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices_adfe11c2-2a26-4335-b5fb-0b0ee4ba3d4a_terseLabel_en-US" xlink:label="lab_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deposits held with a third party related to insurance services collateral</link:label>
    <link:label id="lab_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices_label_en-US" xlink:label="lab_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Liability And Casualty Insurance, Deposits Held With Third Party As Collateral For Services</link:label>
    <link:label id="lab_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices_documentation_en-US" xlink:label="lab_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Liability And Casualty Insurance, Deposits Held With Third Party As Collateral For Services</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices" xlink:href="appf-20210630.xsd#appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices" xlink:to="lab_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_855f6957-9d9c-4378-b83d-891bd6ea366e_negatedLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options cancelled/forfeited (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalYearFocus_d58c4865-45de-411b-9b94-e45a80fc4c10_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalYearFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_DocumentFiscalYearFocus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalYearFocus" xlink:to="lab_dei_DocumentFiscalYearFocus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedBonusesCurrent_30c9d55f-8c94-4b15-8e47-e048bc91dd3a_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedBonusesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued bonuses</link:label>
    <link:label id="lab_us-gaap_AccruedBonusesCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedBonusesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Bonuses, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedBonusesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedBonusesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedBonusesCurrent" xlink:to="lab_us-gaap_AccruedBonusesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionLineItems_af6ccac6-48a0-468e-905e-7de2c41a6f71_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Line Items]</link:label>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionLineItems_label_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeLeaseDescriptionLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="lab_us-gaap_LesseeLeaseDescriptionLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_aa76851a-0450-436a-9c27-7f4dc35d0381_terseLabel_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_label_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_b71c21b9-bf8f-42a9-b1d4-6f7ea42d8b72_terseLabel_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization expense</link:label>
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_label_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AmortizationOfIntangibleAssets" xlink:to="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherCurrentAssetsMember_a39fdf5c-edd9-4d9d-aeb8-9fcceef584a1_terseLabel_en-US" xlink:label="lab_us-gaap_OtherCurrentAssetsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other current assets</link:label>
    <link:label id="lab_us-gaap_OtherCurrentAssetsMember_label_en-US" xlink:label="lab_us-gaap_OtherCurrentAssetsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Current Assets [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherCurrentAssetsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherCurrentAssetsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherCurrentAssetsMember" xlink:to="lab_us-gaap_OtherCurrentAssetsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VariableLeaseCost_a7edc819-e430-4785-a1ed-36445e048968_terseLabel_en-US" xlink:label="lab_us-gaap_VariableLeaseCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable lease cost</link:label>
    <link:label id="lab_us-gaap_VariableLeaseCost_label_en-US" xlink:label="lab_us-gaap_VariableLeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableLeaseCost" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VariableLeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VariableLeaseCost" xlink:to="lab_us-gaap_VariableLeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet_7377699f-f6a9-4cf9-90e8-db1beaa1f888_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net deferred tax assets</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_d68966b6-cdd3-4378-a203-e925794c3b7d_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares excluded from net loss per share computation (in shares)</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_25f5feb7-8930-41db-a4dc-69ce4a97d10c_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue recognized from deferred revenue</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability, Revenue Recognized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_NoncashOrPartNoncashDivestitureAdjustmentToConsideration_859f95a8-faa2-490c-aa1e-b235b19a0634_terseLabel_en-US" xlink:label="lab_appf_NoncashOrPartNoncashDivestitureAdjustmentToConsideration" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustment to the employee retention bonus pool</link:label>
    <link:label id="lab_appf_NoncashOrPartNoncashDivestitureAdjustmentToConsideration_label_en-US" xlink:label="lab_appf_NoncashOrPartNoncashDivestitureAdjustmentToConsideration" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Noncash or Part Noncash Divestiture, Adjustment to Consideration</link:label>
    <link:label id="lab_appf_NoncashOrPartNoncashDivestitureAdjustmentToConsideration_documentation_en-US" xlink:label="lab_appf_NoncashOrPartNoncashDivestitureAdjustmentToConsideration" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Noncash or Part Noncash Divestiture, Adjustment to Consideration</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_NoncashOrPartNoncashDivestitureAdjustmentToConsideration" xlink:href="appf-20210630.xsd#appf_NoncashOrPartNoncashDivestitureAdjustmentToConsideration"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_NoncashOrPartNoncashDivestitureAdjustmentToConsideration" xlink:to="lab_appf_NoncashOrPartNoncashDivestitureAdjustmentToConsideration" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_2f44209c-6e54-4ba3-bdfd-fcfbf3eab49b_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain_0343df7f-bf8d-46e9-8eb4-686a319c7fce_terseLabel_en-US" xlink:label="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of Individual [Domain]</link:label>
    <link:label id="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain_label_en-US" xlink:label="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of Individual [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_4439185d-e1e4-4007-86fd-415592c0df41_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from maturities of available-for-sale investments</link:label>
    <link:label id="lab_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_923f48a1-b042-437f-9ebc-57f46aacd0e9_verboseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Proceeds from Maturities</link:label>
    <link:label id="lab_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_label_en-US" xlink:label="lab_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-sale</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:to="lab_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_538960ea-99c9-4ed7-b85c-548ced153a67_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Changes in unrealized (losses) gains on investment securities</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_8160ebe0-c2af-4250-9ffa-54b3d9c007a9_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group Name [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_label_en-US" xlink:label="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:to="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_214d2e23-4abd-40a3-b42d-af14c509161d_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_cc54858e-bbf5-4b1e-bdd4-c383e2a0649e_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsAbstract_c7f649e3-015f-438d-8213-eb62e0072828_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets</link:label>
    <link:label id="lab_us-gaap_AssetsAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsAbstract" xlink:to="lab_us-gaap_AssetsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_d0a395d9-0b11-4737-ba67-8b098813a4f3_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Available-for-sale Securities</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Available-for-sale Securities Reconciliation [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_338f458d-8301-4979-a48a-a510ee25f9c4_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Available-for-sale Investments, by Remaining Contract Maturity</link:label>
    <link:label id="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_label_en-US" xlink:label="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investments Classified by Contractual Maturity Date [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:to="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_47954bed-e92a-46f2-9a01-4f058716e520_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_135c9347-51ab-4ecc-a032-e8ad4ea26abb_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares granted in period (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfRealizedGainLossTableTextBlock_43eacec8-8115-43ed-97d5-562abe597c0f_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRealizedGainLossTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Sales, Calls, and Maturities</link:label>
    <link:label id="lab_us-gaap_ScheduleOfRealizedGainLossTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfRealizedGainLossTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Realized Gain (Loss) [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRealizedGainLossTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRealizedGainLossTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRealizedGainLossTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfRealizedGainLossTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid_0d46b214-814a-4976-b6d8-dcd543ac941a_terseLabel_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalization of software development costs included in accrued expenses and accrued employee expenses</link:label>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid_label_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software Additions, Incurred But Not Yet Paid</link:label>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid_documentation_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software Additions, Incurred But Not Yet Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid" xlink:href="appf-20210630.xsd#appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid" xlink:to="lab_appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_276fe9eb-4a08-4b08-bb8c-482614e8f476_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible Assets, net</link:label>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockValue_5e252f57-86b4-4eb5-84c8-b3b41a8addee_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, $0.0001 par value, 25,000 shares authorized and no shares issued and outstanding as of June&#160;30, 2021 and December&#160;31, 2020</link:label>
    <link:label id="lab_us-gaap_PreferredStockValue_label_en-US" xlink:label="lab_us-gaap_PreferredStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Value, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockValue" xlink:to="lab_us-gaap_PreferredStockValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_6853871f-c1dc-4c2d-bc3a-23a91356f1f5_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options outstanding, beginning balance (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_ebc69a39-ea8a-45eb-947e-4621fd5a7933_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options outstanding, ending balance (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressCityOrTown_47602ad1-1a01-423a-aa31-1cbcf9c2f22a_terseLabel_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:label id="lab_dei_EntityAddressCityOrTown_label_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityAddressCityOrTown"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressCityOrTown" xlink:to="lab_dei_EntityAddressCityOrTown" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsMember_904b31d5-a7e0-41a6-8b85-0cb23ad8ad3d_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings/(Accumulated Deficit)</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsMember_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsMember" xlink:to="lab_us-gaap_RetainedEarningsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_8bb41c75-52a4-4b07-bff9-f6bf360ed65a_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Prepaid Expense and Other Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_445f618b-9df1-4fd4-aacc-7e6d89e2a565_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_2ad5c861-104a-4f5f-ba52-45a6eed77e48_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_cdae57a7-9e02-4d1f-be48-4f6940810001_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalExpendituresIncurredButNotYetPaid_f913a3d3-0fe9-45c5-836e-3594ce7a3d88_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchases of property and equipment included in accounts payable and accrued expenses</link:label>
    <link:label id="lab_us-gaap_CapitalExpendituresIncurredButNotYetPaid_label_en-US" xlink:label="lab_us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capital Expenditures Incurred but Not yet Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:to="lab_us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_d2ccbc09-9497-47b7-81f9-9d5b1256bd78_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear_765efac6-a9ba-42f0-bf72-e01a16be7fe6_terseLabel_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2021</link:label>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear_label_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Amortization Expense, Remainder of Fiscal Year</link:label>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear_documentation_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Amortization Expense, Remainder of Fiscal Year</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear" xlink:href="appf-20210630.xsd#appf_CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear" xlink:to="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount_6d0f9f61-37bf-4638-a4e7-2c9d5d494f9a_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation capitalized for software development</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Amount Capitalized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_7e060c71-7cdb-4e88-ad01-8cf052a656ea_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Software Development Cost, net</link:label>
    <link:label id="lab_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research, Development, and Computer Software Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:to="lab_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_9f02e4e9-a95d-4922-9fc8-5516c9c02045_terseLabel_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_label_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityInteractiveDataCurrent" xlink:to="lab_dei_EntityInteractiveDataCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_7d88cad0-83e8-47f5-a9d3-a1e0654cf9a9_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basic (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasic" xlink:to="lab_us-gaap_EarningsPerShareBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_21c169f1-2c5c-4b95-8f18-916be003da46_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod_f6767cc3-7dec-4650-9696-3a666250308f_terseLabel_en-US" xlink:label="lab_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retention period</link:label>
    <link:label id="lab_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod_label_en-US" xlink:label="lab_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Retention Period</link:label>
    <link:label id="lab_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod_documentation_en-US" xlink:label="lab_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Retention Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod" xlink:href="appf-20210630.xsd#appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod" xlink:to="lab_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_e9ee543e-e9db-427a-ab2c-30776c7a591c_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue and Other Information</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_8dbc68ca-0f2d-478b-85bc-c91895220ea6_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unvested, beginning balance (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_80428aa2-57c4-40c2-94b8-d6de3636e6a5_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unvested, ending balance (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentType_eb705ae0-6813-4db3-83b6-ecc2faaa4f30_terseLabel_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:label id="lab_dei_DocumentType_label_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_DocumentType"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentType" xlink:to="lab_dei_DocumentType" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost_a4def748-771c-44ef-a7c4-89f7e32934da_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Due after one year through three years</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, after Year One Through Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTableTextBlock_287595d4-d118-470d-aa9d-d21f5c6ad271_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Product Information by Revenue Categories</link:label>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTableTextBlock_label_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="lab_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_EmployeeRelatedLiabilitiesNoncurrent_9685ee8b-fbd1-4091-b6ae-cc741f323cd9_terseLabel_en-US" xlink:label="lab_appf_EmployeeRelatedLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued employee expenses&#8212;noncurrent</link:label>
    <link:label id="lab_appf_EmployeeRelatedLiabilitiesNoncurrent_label_en-US" xlink:label="lab_appf_EmployeeRelatedLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee-related Liabilities, Noncurrent</link:label>
    <link:label id="lab_appf_EmployeeRelatedLiabilitiesNoncurrent_documentation_en-US" xlink:label="lab_appf_EmployeeRelatedLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee-related Liabilities, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_EmployeeRelatedLiabilitiesNoncurrent" xlink:href="appf-20210630.xsd#appf_EmployeeRelatedLiabilitiesNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_EmployeeRelatedLiabilitiesNoncurrent" xlink:to="lab_appf_EmployeeRelatedLiabilitiesNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasisAbstract_2137347a-330d-413c-a974-8513d6145e7d_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasisAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortized Cost</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasisAbstract_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasisAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale, Maturity, Allocated and Single Maturity Date, Amortized Cost [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasisAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasisAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasisAbstract" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasisAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_9d391274-dfba-4d26-b1ab-6d4f94c1d72c_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number&#160;of Shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCurrentReportingStatus_c044c294-d45e-4c72-8479-64709aa24448_terseLabel_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:label id="lab_dei_EntityCurrentReportingStatus_label_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityCurrentReportingStatus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCurrentReportingStatus" xlink:to="lab_dei_EntityCurrentReportingStatus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_58789598-bd4e-410e-86df-6e50a99fe484_terseLabel_en-US" xlink:label="lab_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Restricted Stock Awards Activity</link:label>
    <link:label id="lab_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Nonvested Restricted Stock Shares Activity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock" xlink:to="lab_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent_2742724d-76d4-46a6-aa18-158a8be83c4b_terseLabel_en-US" xlink:label="lab_appf_IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued employee expenses&#8212;noncurrent</link:label>
    <link:label id="lab_appf_IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent_label_en-US" xlink:label="lab_appf_IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) In Employee-related Liabilities, Noncurrent</link:label>
    <link:label id="lab_appf_IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent_documentation_en-US" xlink:label="lab_appf_IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) In Employee-related Liabilities, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent" xlink:href="appf-20210630.xsd#appf_IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent" xlink:to="lab_appf_IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract_a91f610b-92e3-463c-9a99-a1a48292d259_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Grant&#160;Date Fair&#160;Value&#160;per&#160;Share</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommercialPaperMember_6b0fedcb-7262-4ebd-a4d3-1131bc1c0456_terseLabel_en-US" xlink:label="lab_us-gaap_CommercialPaperMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commercial paper</link:label>
    <link:label id="lab_us-gaap_CommercialPaperMember_label_en-US" xlink:label="lab_us-gaap_CommercialPaperMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commercial Paper [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommercialPaperMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommercialPaperMember" xlink:to="lab_us-gaap_CommercialPaperMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherNoncashIncomeExpense_5924b64e-e47c-4d02-ae36-1a6d991d7384_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_OtherNoncashIncomeExpense" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other</link:label>
    <link:label id="lab_us-gaap_OtherNoncashIncomeExpense_label_en-US" xlink:label="lab_us-gaap_OtherNoncashIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Noncash Income (Expense)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNoncashIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNoncashIncomeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherNoncashIncomeExpense" xlink:to="lab_us-gaap_OtherNoncashIncomeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalents_b8e2e9c9-0295-4013-8734-31f3af72b869_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted cash included in other assets</link:label>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalents_label_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Cash and Cash Equivalents</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalents"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalents" xlink:to="lab_us-gaap_RestrictedCashAndCashEquivalents" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo_e9be9a43-e2e6-41bf-8c5b-d8ee23025138_terseLabel_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2023</link:label>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo_label_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Amortization Expense, Year Two</link:label>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo_documentation_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Amortization Expense, Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo" xlink:href="appf-20210630.xsd#appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo" xlink:to="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfSecuredDebt_62f64df6-e7ff-4134-847c-bada63e50e2d_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfSecuredDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from issuance of debt</link:label>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfSecuredDebt_label_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfSecuredDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Issuance of Secured Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSecuredDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfSecuredDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOfSecuredDebt" xlink:to="lab_us-gaap_ProceedsFromIssuanceOfSecuredDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PlanNameAxis_83b4f18b-a429-45d2-baca-7ac37020b267_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:label id="lab_us-gaap_PlanNameAxis_label_en-US" xlink:label="lab_us-gaap_PlanNameAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameAxis" xlink:to="lab_us-gaap_PlanNameAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_PerformanceStockUnitsGrantedIn2020Member_b5fa67b2-4378-4613-bcd9-166a1edbad16_terseLabel_en-US" xlink:label="lab_appf_PerformanceStockUnitsGrantedIn2020Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PSUs Granted in 2020</link:label>
    <link:label id="lab_appf_PerformanceStockUnitsGrantedIn2020Member_label_en-US" xlink:label="lab_appf_PerformanceStockUnitsGrantedIn2020Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Stock Units Granted in 2020 [Member]</link:label>
    <link:label id="lab_appf_PerformanceStockUnitsGrantedIn2020Member_documentation_en-US" xlink:label="lab_appf_PerformanceStockUnitsGrantedIn2020Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Stock Units Granted in 2020</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsGrantedIn2020Member" xlink:href="appf-20210630.xsd#appf_PerformanceStockUnitsGrantedIn2020Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_PerformanceStockUnitsGrantedIn2020Member" xlink:to="lab_appf_PerformanceStockUnitsGrantedIn2020Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsFairValueDisclosure_3707afbb-785f-49e6-9bcb-dd5477a4a114_totalLabel_en-US" xlink:label="lab_us-gaap_AssetsFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total</link:label>
    <link:label id="lab_us-gaap_AssetsFairValueDisclosure_label_en-US" xlink:label="lab_us-gaap_AssetsFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Fair Value Disclosure</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsFairValueDisclosure" xlink:to="lab_us-gaap_AssetsFairValueDisclosure" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware_1b45b24a-cf60-4f59-87d0-390710c2fe56_terseLabel_en-US" xlink:label="lab_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized software divested</link:label>
    <link:label id="lab_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware_label_en-US" xlink:label="lab_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Capitalized Software</link:label>
    <link:label id="lab_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware_documentation_en-US" xlink:label="lab_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Capitalized Software</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware" xlink:href="appf-20210630.xsd#appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware" xlink:to="lab_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueInputsLevel1Member_5174de2a-2bfd-4927-949d-ef649c5f5dde_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel1Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Level&#160;1</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel1Member_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel1Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Inputs, Level 1 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel1Member" xlink:to="lab_us-gaap_FairValueInputsLevel1Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_6ebd595c-2f1a-4705-927a-4d989b777b8c_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash from investing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentTransitionReport_76524df5-f894-4acf-8798-4815f51e5ce5_terseLabel_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Transition Report</link:label>
    <link:label id="lab_dei_DocumentTransitionReport_label_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Transition Report</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_DocumentTransitionReport"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentTransitionReport" xlink:to="lab_dei_DocumentTransitionReport" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_8e7d27e3-ff5a-41f4-8a40-7d8579d57bdf_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:to="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_1bdce34e-d3a4-4082-9315-bfb717c250a7_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Years ending December 31,</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Payment, Due [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConversionOfStockSharesConverted1_8db4522c-10c6-4113-8052-e7667196f108_terseLabel_en-US" xlink:label="lab_us-gaap_ConversionOfStockSharesConverted1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Conversion of Class B stock to Class A stock (in shares)</link:label>
    <link:label id="lab_us-gaap_ConversionOfStockSharesConverted1_label_en-US" xlink:label="lab_us-gaap_ConversionOfStockSharesConverted1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Conversion of Stock, Shares Converted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConversionOfStockSharesConverted1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConversionOfStockSharesConverted1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConversionOfStockSharesConverted1" xlink:to="lab_us-gaap_ConversionOfStockSharesConverted1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_fed25067-52d1-4dd2-8b41-249d5c838282_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_0b57bf02-f45c-4f17-a5aa-c7b2e182d824_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liabilities and stockholders&#8217; equity</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Equity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember_8c36f875-721e-4b86-94d8-2632db03d681_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting Tranche One</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Tranche One [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:to="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCurrent_539e80e0-6764-40e4-8372-24d4ccce22dd_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_76555fdc-9856-4c3b-965a-34165fd710ab_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options exercised, weighted average exercise price (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NoncompeteAgreementsMember_2ea34655-8619-4c80-9494-35408117e4ef_terseLabel_en-US" xlink:label="lab_us-gaap_NoncompeteAgreementsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-compete agreements</link:label>
    <link:label id="lab_us-gaap_NoncompeteAgreementsMember_label_en-US" xlink:label="lab_us-gaap_NoncompeteAgreementsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Noncompete Agreements [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncompeteAgreementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NoncompeteAgreementsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NoncompeteAgreementsMember" xlink:to="lab_us-gaap_NoncompeteAgreementsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapital_2c9f0cc9-0559-454f-bd5b-aacb9bc3ecc3_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapital" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional paid-in capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapital_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapital" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid in Capital</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapital"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapital" xlink:to="lab_us-gaap_AdditionalPaidInCapital" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionTable_c36f562a-a942-4c19-a516-376d7c88d374_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Table]</link:label>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionTable_label_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeLeaseDescriptionTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable" xlink:to="lab_us-gaap_LesseeLeaseDescriptionTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_dda7789c-b8e0-45d2-acd7-26fcc21ab701_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Stockholders&#8217; Equity</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_7ad62506-ea12-4903-b782-29fcc87064b6_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accounts Payable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock_1a4ceecf-0a0f-4de9-aaef-57fe7fa7c120_terseLabel_en-US" xlink:label="lab_appf_ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Capitalized Computer Software Future Amortization Expense</link:label>
    <link:label id="lab_appf_ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock_label_en-US" xlink:label="lab_appf_ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule Of Capitalized Computer Software, Future Amortization Expense [Table Text Block]</link:label>
    <link:label id="lab_appf_ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock_documentation_en-US" xlink:label="lab_appf_ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Capitalized Computer Software, Future Amortization Expense [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock" xlink:href="appf-20210630.xsd#appf_ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock" xlink:to="lab_appf_ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_PerformanceStockUnitsGrantedin2019and2018Member_727e9479-0bf3-47b9-b32e-5bfb3110c9bd_terseLabel_en-US" xlink:label="lab_appf_PerformanceStockUnitsGrantedin2019and2018Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Stock Units Granted in 2019 and 2018</link:label>
    <link:label id="lab_appf_PerformanceStockUnitsGrantedin2019and2018Member_label_en-US" xlink:label="lab_appf_PerformanceStockUnitsGrantedin2019and2018Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Stock Units Granted in 2019 and 2018 [Member]</link:label>
    <link:label id="lab_appf_PerformanceStockUnitsGrantedin2019and2018Member_documentation_en-US" xlink:label="lab_appf_PerformanceStockUnitsGrantedin2019and2018Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Stock Units Granted in 2019 and 2018 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsGrantedin2019and2018Member" xlink:href="appf-20210630.xsd#appf_PerformanceStockUnitsGrantedin2019and2018Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_PerformanceStockUnitsGrantedin2019and2018Member" xlink:to="lab_appf_PerformanceStockUnitsGrantedin2019and2018Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_c6da6de6-b073-43b1-a74d-c8d37d3e8fc2_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets divested</link:label>
    <link:label id="lab_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_label_en-US" xlink:label="lab_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:to="lab_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TreasuryStockValueAcquiredCostMethod_0a9a0a16-5031-44be-bd97-eed6aa5fc362_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repurchase of common stock</link:label>
    <link:label id="lab_us-gaap_TreasuryStockValueAcquiredCostMethod_f6854c51-920f-4dae-a14a-6bfa2c47cdf3_terseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reduction to stockholders' equity</link:label>
    <link:label id="lab_us-gaap_TreasuryStockValueAcquiredCostMethod_label_en-US" xlink:label="lab_us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock, Value, Acquired, Cost Method</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:to="lab_us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_8975373f-0429-4b36-9f93-6c85792b6e06_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2025</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_d25f33f8-6f8f-42e0-8019-d02faa4a3f11_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents [Domain]</link:label>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_label_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_dc9fa68a-7d8c-413d-9f78-d229d80de711_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise of stock options</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Stock Options Exercised</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MinimumMember_334910e3-72a7-4d69-8064-3bce99887808_terseLabel_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum</link:label>
    <link:label id="lab_srt_MinimumMember_label_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MinimumMember" xlink:to="lab_srt_MinimumMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain_78177c19-9823-41a9-8a82-f829049a8a55_terseLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Realized Gains</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale, Realized Gain</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtSecuritiesAvailableForSaleRealizedGain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_aaed74e6-a58e-42a2-83bb-f31ff4bee6c5_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2023</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BalanceSheetLocationDomain_a4647620-875e-4c45-a6cf-6e5a3e90d3d5_terseLabel_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance Sheet Location [Domain]</link:label>
    <link:label id="lab_us-gaap_BalanceSheetLocationDomain_label_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance Sheet Location [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BalanceSheetLocationDomain" xlink:to="lab_us-gaap_BalanceSheetLocationDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_ccc71217-bfcf-4f75-947f-ba716be08d96_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options cancelled/forfeited, weighted average exercise price (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_f8fb270d-5c6f-4a47-927b-2d8be5963648_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other comprehensive income:</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PriorPeriodReclassificationAdjustmentDescription_71c04ab1-8314-4157-8d52-5993eebec100_terseLabel_en-US" xlink:label="lab_us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reclassifications</link:label>
    <link:label id="lab_us-gaap_PriorPeriodReclassificationAdjustmentDescription_label_en-US" xlink:label="lab_us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reclassification, Comparability Adjustment [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PriorPeriodReclassificationAdjustmentDescription"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:to="lab_us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesAuthorized_d6e9a217-8338-457b-a032-6b1362d388ec_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, shares authorized (in shares)</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesAuthorized" xlink:to="lab_us-gaap_PreferredStockSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets_48b8c07f-1025-4dca-ab9e-01ad3009e76c_terseLabel_en-US" xlink:label="lab_appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label id="lab_appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets_label_en-US" xlink:label="lab_appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Prepaid Expenses And Other Current Assets</link:label>
    <link:label id="lab_appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets_documentation_en-US" xlink:label="lab_appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Prepaid Expenses And Other Current Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets" xlink:href="appf-20210630.xsd#appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets" xlink:to="lab_appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_7b19be16-70c0-4868-b654-5b9cb90d3394_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Unrealized Gains</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale, Accumulated Gross Unrealized Gain, before Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases_4caf053a-ff2a-4e71-a528-0a9975ab4456_terseLabel_en-US" xlink:label="lab_appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of directors to authorize repurchases</link:label>
    <link:label id="lab_appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases_label_en-US" xlink:label="lab_appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchase Program, Number Of Directors To Authorize Repurchases</link:label>
    <link:label id="lab_appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases_documentation_en-US" xlink:label="lab_appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchase Program, Number Of Directors To Authorize Repurchases</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases" xlink:href="appf-20210630.xsd#appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases" xlink:to="lab_appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_TradingSymbol_ce02e71e-e05e-47c5-95ff-3d677ece3820_terseLabel_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:label id="lab_dei_TradingSymbol_label_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_TradingSymbol"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_TradingSymbol" xlink:to="lab_dei_TradingSymbol" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxAssetsNet_17d6bcf4-bd17-4f2d-b9fe-b089a61a26fe_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxAssetsNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred income taxes&#8212;noncurrent</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxAssetsNet_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxAssetsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Tax Assets, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="lab_us-gaap_DeferredIncomeTaxAssetsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_ea0beae4-c9c9-4e2f-b9b3-ba861cca1fd4_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current liabilities</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:to="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToDevelopSoftware_32cc6c1b-7ace-4af8-acac-56cb0305e035_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToDevelopSoftware" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalization of software development costs</link:label>
    <link:label id="lab_us-gaap_PaymentsToDevelopSoftware_label_en-US" xlink:label="lab_us-gaap_PaymentsToDevelopSoftware" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Develop Software</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToDevelopSoftware" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToDevelopSoftware"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToDevelopSoftware" xlink:to="lab_us-gaap_PaymentsToDevelopSoftware" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GeneralAndAdministrativeExpense_965938e0-a5e0-4352-b2bc-a3d73a869dea_terseLabel_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">General and administrative</link:label>
    <link:label id="lab_us-gaap_GeneralAndAdministrativeExpense_label_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">General and Administrative Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GeneralAndAdministrativeExpense" xlink:to="lab_us-gaap_GeneralAndAdministrativeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharesOutstanding_b82c97a4-1731-4ae4-80ff-e750709422e7_periodStartLabel_en-US" xlink:label="lab_us-gaap_SharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance (in shares)</link:label>
    <link:label id="lab_us-gaap_SharesOutstanding_a1f2c8a2-2eb2-4772-aa96-43fe6c94ed58_periodEndLabel_en-US" xlink:label="lab_us-gaap_SharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance (in shares)</link:label>
    <link:label id="lab_us-gaap_SharesOutstanding_label_en-US" xlink:label="lab_us-gaap_SharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares, Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharesOutstanding" xlink:to="lab_us-gaap_SharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_301c0abd-e340-4a9f-9086-53c6ad6d3e3f_terseLabel_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-Based Compensation</link:label>
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_label_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueInputsLevel3Member_c677fe68-11c6-4122-a267-36108faead7c_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel3Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Level 3</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel3Member_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel3Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Inputs, Level 3 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel3Member" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel3Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel3Member" xlink:to="lab_us-gaap_FairValueInputsLevel3Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_c2855325-5b60-4b6c-9a9d-c9779eab181a_terseLabel_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_label_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingPoliciesAbstract" xlink:to="lab_us-gaap_AccountingPoliciesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1_b4cb302b-c545-4af8-b4b5-03ac2bf590c7_terseLabel_en-US" xlink:label="lab_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee retention bonus pool</link:label>
    <link:label id="lab_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1_label_en-US" xlink:label="lab_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Noncash or Part Noncash Divestiture, Amount of Consideration Received</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1" xlink:to="lab_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_aa624c02-28e4-4460-9e20-ec5b5ab94ae5_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Remaining Contractual&#160;Life in Years</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_0b30110f-351e-40db-980e-dcec9b97a166_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiability" xlink:to="lab_us-gaap_OperatingLeaseLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InternetDomainNamesMember_7f8906a5-6f84-431b-bf9d-e7f645314a72_terseLabel_en-US" xlink:label="lab_us-gaap_InternetDomainNamesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Domain names</link:label>
    <link:label id="lab_us-gaap_InternetDomainNamesMember_label_en-US" xlink:label="lab_us-gaap_InternetDomainNamesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Internet Domain Names [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InternetDomainNamesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InternetDomainNamesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InternetDomainNamesMember" xlink:to="lab_us-gaap_InternetDomainNamesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockValue_106fcb6c-8fa3-4ab3-97d2-7b0960878797_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock</link:label>
    <link:label id="lab_us-gaap_CommonStockValue_label_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Value, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockValue" xlink:to="lab_us-gaap_CommonStockValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueLineItems_5ed1fd65-3490-4b51-997c-473f77007f17_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Line Items]</link:label>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueLineItems_label_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems" xlink:to="lab_us-gaap_DisaggregationOfRevenueLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_81767a1e-0b22-4c0b-a342-57f09076281a_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation expense, weighted average recognition period</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_ddd6ef20-4f38-4454-8e48-e460ed7f1090_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unvested, beginning balance (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_ba37efbb-f865-4683-b0b4-a22c34d3068d_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unvested, ending balance (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_3b547052-2b78-44aa-a935-14a979eb72ee_terseLabel_en-US" xlink:label="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basis of Presentation and Significant Accounting Policies</link:label>
    <link:label id="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basis of Accounting, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:to="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PerformanceSharesMember_dd98141e-187a-4e1b-a53d-8076ac4ad417_terseLabel_en-US" xlink:label="lab_us-gaap_PerformanceSharesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PSUs</link:label>
    <link:label id="lab_us-gaap_PerformanceSharesMember_label_en-US" xlink:label="lab_us-gaap_PerformanceSharesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Shares [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PerformanceSharesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PerformanceSharesMember" xlink:to="lab_us-gaap_PerformanceSharesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingencies_46cd1106-9ef2-4bd0-8f0b-297ac7082583_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingencies" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and contingencies (Note 9)</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingencies_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingencies" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingencies" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingencies"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingencies" xlink:to="lab_us-gaap_CommitmentsAndContingencies" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_3687bd41-9a8a-4ec1-b3a8-87cf38467a7b_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Leases [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_751de0b8-e7b2-48e8-a6de-fc6d7a434b69_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated other comprehensive (loss) income</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Net of Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_c465c506-c728-4b49-8d86-25414c85e9ef_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2021</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationDisclosureTextBlock_f517a35a-9908-4ffb-816c-9235b9927a4c_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Divestitures</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:to="lab_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedStockMember_20e45363-fd47-4d8f-9ecf-f6faeb1b1ddf_verboseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Awards</link:label>
    <link:label id="lab_us-gaap_RestrictedStockMember_label_en-US" xlink:label="lab_us-gaap_RestrictedStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedStockMember" xlink:to="lab_us-gaap_RestrictedStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract_567baf63-2cea-4f59-bc36-ff0a04deb67e_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, cash equivalents and restricted cash</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisposalGroupClassificationAxis_945c10f4-97ac-47e3-bd32-1ecfa7efab75_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupClassificationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group Classification [Axis]</link:label>
    <link:label id="lab_us-gaap_DisposalGroupClassificationAxis_label_en-US" xlink:label="lab_us-gaap_DisposalGroupClassificationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group Classification [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisposalGroupClassificationAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis" xlink:to="lab_us-gaap_DisposalGroupClassificationAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesNameDomain_e0d91b13-6bed-4391-8ec2-4a64556476cc_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities, Name [Domain]</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesNameDomain_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities, Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="lab_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentPeriodEndDate_9dff4fc4-80cc-467d-b049-093288c65305_terseLabel_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:label id="lab_dei_DocumentPeriodEndDate_label_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_DocumentPeriodEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentPeriodEndDate" xlink:to="lab_dei_DocumentPeriodEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_fa9fb3d8-97d6-4af3-bc96-86d8daa2e809_terseLabel_en-US" xlink:label="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plus: Weighted average options, restricted stock units and restricted shares used to compute diluted net income per common share (in shares)</link:label>
    <link:label id="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_label_en-US" xlink:label="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostsAndExpenses_57d18766-efc9-46b1-9ed2-fb3b71e7ff5f_totalLabel_en-US" xlink:label="lab_us-gaap_CostsAndExpenses" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total costs and operating expenses</link:label>
    <link:label id="lab_us-gaap_CostsAndExpenses_label_en-US" xlink:label="lab_us-gaap_CostsAndExpenses" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Costs and Expenses</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostsAndExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostsAndExpenses"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostsAndExpenses" xlink:to="lab_us-gaap_CostsAndExpenses" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementClassOfStockAxis_ad234395-2cb2-41fe-8119-70ff21e2894e_terseLabel_en-US" xlink:label="lab_us-gaap_StatementClassOfStockAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementClassOfStockAxis_label_en-US" xlink:label="lab_us-gaap_StatementClassOfStockAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementClassOfStockAxis" xlink:to="lab_us-gaap_StatementClassOfStockAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityRegistrantName_6ec5af17-1fa6-4795-bf33-e595e34ce0b2_terseLabel_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:label id="lab_dei_EntityRegistrantName_label_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityRegistrantName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityRegistrantName" xlink:to="lab_dei_EntityRegistrantName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TreasuryStockShares_2f8a95fa-c1b0-4637-9a7b-4746b6073a5b_terseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockShares" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury stock (in shares)</link:label>
    <link:label id="lab_us-gaap_TreasuryStockShares_label_en-US" xlink:label="lab_us-gaap_TreasuryStockShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock, Shares</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockShares" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockShares"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockShares" xlink:to="lab_us-gaap_TreasuryStockShares" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InterestIncomeExpenseNet_62a1f856-b9e4-4a04-8d6d-83ccdc27f8f4_terseLabel_en-US" xlink:label="lab_us-gaap_InterestIncomeExpenseNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest income (expense), net</link:label>
    <link:label id="lab_us-gaap_InterestIncomeExpenseNet_label_en-US" xlink:label="lab_us-gaap_InterestIncomeExpenseNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Income (Expense), Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNet" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestIncomeExpenseNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestIncomeExpenseNet" xlink:to="lab_us-gaap_InterestIncomeExpenseNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_00e11885-b919-4480-a457-ec554599befc_negatedLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: imputed interest</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_fa3faa9d-786b-44d6-8866-30aa28a7dda6_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_label_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid Expense and Other Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancialInstrumentAxis_f478b15d-e3ce-4242-bc82-a46de417ace3_terseLabel_en-US" xlink:label="lab_us-gaap_FinancialInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instrument [Axis]</link:label>
    <link:label id="lab_us-gaap_FinancialInstrumentAxis_label_en-US" xlink:label="lab_us-gaap_FinancialInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instrument [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancialInstrumentAxis" xlink:to="lab_us-gaap_FinancialInstrumentAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_84b84fa3-1e90-4238-8aeb-2360ee534c46_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued expenses</link:label>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:to="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_e9132904-5ec6-4aca-87a2-31e35d37d4cf_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer, Excluding Assessed Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion_6b68d78d-5d0b-44dd-bc59-0eaf9449e226_terseLabel_en-US" xlink:label="lab_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total</link:label>
    <link:label id="lab_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion_label_en-US" xlink:label="lab_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Net Of Current Portion</link:label>
    <link:label id="lab_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion_documentation_en-US" xlink:label="lab_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Net Of Current Portion</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion" xlink:href="appf-20210630.xsd#appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion" xlink:to="lab_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_e0192f34-01f8-4ac7-9360-78440331a6b6_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Available-for-sale Securities [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Available-for-sale Securities [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:to="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedVacationCurrent_af3a624c-19a7-4e51-9919-c460b75bb3b4_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedVacationCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued vacation</link:label>
    <link:label id="lab_us-gaap_AccruedVacationCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedVacationCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Vacation, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedVacationCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedVacationCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedVacationCurrent" xlink:to="lab_us-gaap_AccruedVacationCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareAdditions_c9d2da38-47ca-4b51-a7fc-731fb1731e9b_verboseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareAdditions" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized software development costs</link:label>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareAdditions_label_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareAdditions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Additions</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareAdditions" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAdditions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareAdditions" xlink:to="lab_us-gaap_CapitalizedComputerSoftwareAdditions" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree_d5240b21-5603-4d01-bc38-6124765ff5d9_terseLabel_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree_label_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Amortization Expense, Year Three</link:label>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree_documentation_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Amortization Expense, Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree" xlink:href="appf-20210630.xsd#appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree" xlink:to="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquityAbstract_55f0b99c-3641-4331-94fe-d4745aee050f_terseLabel_en-US" xlink:label="lab_us-gaap_EquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity [Abstract]</link:label>
    <link:label id="lab_us-gaap_EquityAbstract_label_en-US" xlink:label="lab_us-gaap_EquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityAbstract" xlink:to="lab_us-gaap_EquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_b6da4a57-1a33-41b7-bca0-1666a1eced2e_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</link:label>
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_label_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InvestmentIncomeInterest_655de8f9-8dc8-4dc0-9b97-ebf4b068f340_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentIncomeInterest" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest income, net of amortization and accretion of premium and discount</link:label>
    <link:label id="lab_us-gaap_InvestmentIncomeInterest_label_en-US" xlink:label="lab_us-gaap_InvestmentIncomeInterest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment Income, Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentIncomeInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InvestmentIncomeInterest"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentIncomeInterest" xlink:to="lab_us-gaap_InvestmentIncomeInterest" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockMember_4a6b03b6-8264-4919-946d-fb33a1bca888_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock</link:label>
    <link:label id="lab_us-gaap_CommonStockMember_label_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockMember" xlink:to="lab_us-gaap_CommonStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_ae53876a-ec54-4eae-8c62-6db204ff49e6_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (loss) from operations</link:label>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_label_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Income (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingIncomeLoss" xlink:to="lab_us-gaap_OperatingIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_d1d9ef49-4f18-45ca-a088-f5b26f1118c5_verboseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other current liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_de54534a-79f3-4a0c-a64d-cb0d2cb34c22_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease, current</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_ead12716-2dc4-4465-8340-780ff6a0c494_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale [Line Items]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue_032bcee6-7ec5-47cf-b8a6-a8be8ece36a9_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Due after one year through three years</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, after Year One Through Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_a5de6111-15e7-4d94-b8a3-4e1cfe622ab0_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Unrealized Losses</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale, Accumulated Gross Unrealized Loss, before Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_e025559a-8bce-40cd-a42b-2001214e1fe2_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2023</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_e3292fa2-a7a8-4603-ae4e-e4071a73c245_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensation_1edfceb4-7cf2-4fb7-af27-9859643b2438_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Noncash Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensation" xlink:to="lab_us-gaap_ShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_d967f99d-5ed9-4902-a503-8a80827cce45_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid-in Capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:to="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_ce5c3d0b-4395-491a-8c1b-f7f3785cdcd1_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_030fdb9f-1fb1-4136-9938-be7768c93dff_verboseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TreasuryStockMember_48878be1-cfb8-4c65-9090-74e7ca792e75_terseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock</link:label>
    <link:label id="lab_us-gaap_TreasuryStockMember_label_en-US" xlink:label="lab_us-gaap_TreasuryStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockMember" xlink:to="lab_us-gaap_TreasuryStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_0a9b8f0c-3227-4cf1-8f43-0d243b8c0515_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchases of available-for-sale investments</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Debt Securities, Available-for-sale</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:to="lab_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage_70169596-9faf-44be-88f1-804f2e69a346_terseLabel_en-US" xlink:label="lab_us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Quota share of tenant liability insurance provided, percent</link:label>
    <link:label id="lab_us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage_label_en-US" xlink:label="lab_us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reinsurance Retention Policy, Reinsured Risk, Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage" xlink:to="lab_us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue_8e0f51a0-79fc-440b-9875-ccc14c2519dd_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue divested</link:label>
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue_label_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Deferred Revenue</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue" xlink:to="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_d32fe41b-a179-4193-b5e0-a464b885864f_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:to="lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_f78ef4f4-3710-4ed6-9824-8f37dee28d59_terseLabel_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other income (loss), net</link:label>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_label_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Nonoperating Income (Expense)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpense" xlink:to="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_89aac4a0-5a5a-4e4f-b04d-7f0523714930_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchases of property, equipment and intangible assets</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherLiabilitiesCurrent_6233c04a-24d2-4209-943c-bb17095b7e48_terseLabel_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other current liabilities</link:label>
    <link:label id="lab_us-gaap_OtherLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherLiabilitiesCurrent" xlink:to="lab_us-gaap_OtherLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MaximumMember_ad2ff660-e50b-4bc9-a9ca-b02ee99229f5_terseLabel_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum</link:label>
    <link:label id="lab_srt_MaximumMember_label_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MaximumMember" xlink:to="lab_srt_MaximumMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_5bcd06d5-53af-4f08-8414-64e8e1e595d6_terseLabel_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement [Abstract]</link:label>
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_label_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Liabilities_0dd319f7-7da8-43fb-9d07-c6968c358ec3_totalLabel_en-US" xlink:label="lab_us-gaap_Liabilities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liabilities</link:label>
    <link:label id="lab_us-gaap_Liabilities_label_en-US" xlink:label="lab_us-gaap_Liabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Liabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Liabilities" xlink:to="lab_us-gaap_Liabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AwardTypeAxis_6bcccfe2-65e5-429e-a579-fff4ef606dc9_terseLabel_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:label id="lab_us-gaap_AwardTypeAxis_label_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AwardTypeAxis" xlink:to="lab_us-gaap_AwardTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_ce54128a-9278-47df-bcab-8f97531ceef8_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_95a02a81-1399-48ab-b567-0092f1ecd38b_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options granted, weighted average exercise price (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_e8932a69-3394-4420-9992-b0a80cd2345c_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash from financing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_3479ac05-6dd9-47b8-ab30-19ead19b028e_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Minimum Lease Payments Under Leases</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Maturity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquity_ff9b40d4-f6dc-454c-916e-f73a373e6694_totalLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total stockholders&#8217; equity</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_3a6d6f7e-2aa2-475f-938a-b326e97eec70_periodStartLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_caff3cfe-8258-4b64-9109-9acff17daa12_periodEndLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_label_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity" xlink:to="lab_us-gaap_StockholdersEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_c39e5cda-49b1-45ad-8e02-981804c96d22_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares issued (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued" xlink:to="lab_us-gaap_CommonStockSharesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesIssued_e9197de5-4fe9-41e6-b767-c28071923a06_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, shares issued (in shares)</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesIssued_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesIssued" xlink:to="lab_us-gaap_PreferredStockSharesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_51f2e6ce-022e-403e-8371-1f4298a9b2af_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss_bc4539c3-79d6-4d81-aa43-c0a24e70bcd5_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Realized Losses</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale, Realized Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_83fee448-3d95-4527-a44c-0de463e8a713_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued expenses</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Other Accrued Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:to="lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_f312f125-130f-437c-a8a9-7377abd15ad4_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase of treasury stock</link:label>
    <link:label id="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_label_en-US" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments for Repurchase of Common Stock</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract_7c6bb515-8078-47c2-9147-2a8f1a4b0ad8_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated Fair Value</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale, Maturity, Allocated and Single Maturity Date, Fair Value [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_d5049d88-224e-457f-b621-22f0c519d2eb_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders&#8217; equity:</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityAbstract" xlink:to="lab_us-gaap_StockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract_aed48ae3-4cc7-4963-bd39-d6ead6825277_terseLabel_en-US" xlink:label="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Noncash investing and financing activities</link:label>
    <link:label id="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract_label_en-US" xlink:label="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Noncash Investing and Financing Items [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BalanceSheetLocationAxis_3674159f-4c03-4b0b-a01f-c24ec924ebb1_terseLabel_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance Sheet Location [Axis]</link:label>
    <link:label id="lab_us-gaap_BalanceSheetLocationAxis_label_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance Sheet Location [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BalanceSheetLocationAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BalanceSheetLocationAxis" xlink:to="lab_us-gaap_BalanceSheetLocationAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_4d5ad740-8683-462d-bfa9-b05778446160_verboseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_a67767fd-6515-4c6f-b43c-4b1fc88a26b9_netLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementFrequencyDomain_d1ff694f-f404-4016-9652-c488b3735d02_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementFrequencyDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Frequency [Domain]</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementFrequencyDomain_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementFrequencyDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Frequency [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="lab_us-gaap_FairValueMeasurementFrequencyDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_PerformanceStockUnitsGrantedIn2021Member_8ed6f414-9ab7-4d92-b3e6-bd8f58cb917b_terseLabel_en-US" xlink:label="lab_appf_PerformanceStockUnitsGrantedIn2021Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PSUs Granted in 2021</link:label>
    <link:label id="lab_appf_PerformanceStockUnitsGrantedIn2021Member_label_en-US" xlink:label="lab_appf_PerformanceStockUnitsGrantedIn2021Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Stock Units Granted in 2021 [Member]</link:label>
    <link:label id="lab_appf_PerformanceStockUnitsGrantedIn2021Member_documentation_en-US" xlink:label="lab_appf_PerformanceStockUnitsGrantedIn2021Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Stock Units Granted in 2021</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsGrantedIn2021Member" xlink:href="appf-20210630.xsd#appf_PerformanceStockUnitsGrantedIn2021Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_PerformanceStockUnitsGrantedIn2021Member" xlink:to="lab_appf_PerformanceStockUnitsGrantedIn2021Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_81c0291a-9d50-478c-97d7-fc043e16bbff_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued employee expenses&#8212;current</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Employee Related Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:to="lab_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_label_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Discontinued Operations and Disposal Groups [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract" xlink:to="lab_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_IncreaseDecreaseInOperatingLeases_427de491-114c-4fed-a1e0-51d5d7e4aec4_terseLabel_en-US" xlink:label="lab_appf_IncreaseDecreaseInOperatingLeases" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities</link:label>
    <link:label id="lab_appf_IncreaseDecreaseInOperatingLeases_label_en-US" xlink:label="lab_appf_IncreaseDecreaseInOperatingLeases" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) In Operating Leases</link:label>
    <link:label id="lab_appf_IncreaseDecreaseInOperatingLeases_documentation_en-US" xlink:label="lab_appf_IncreaseDecreaseInOperatingLeases" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) In Operating Leases</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_IncreaseDecreaseInOperatingLeases" xlink:href="appf-20210630.xsd#appf_IncreaseDecreaseInOperatingLeases"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_IncreaseDecreaseInOperatingLeases" xlink:to="lab_appf_IncreaseDecreaseInOperatingLeases" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CityAreaCode_f79b5fc6-90a1-43de-850e-6263647acbd4_terseLabel_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:label id="lab_dei_CityAreaCode_label_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_CityAreaCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CityAreaCode" xlink:to="lab_dei_CityAreaCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_896c9828-53cd-41c3-ad5b-4d9eaaa26d2a_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained earnings</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CompensationRelatedCostsGeneralTextBlock_1dfe0219-e5fa-4669-ba1b-27a674b43859_terseLabel_en-US" xlink:label="lab_us-gaap_CompensationRelatedCostsGeneralTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Employee Expenses</link:label>
    <link:label id="lab_us-gaap_CompensationRelatedCostsGeneralTextBlock_label_en-US" xlink:label="lab_us-gaap_CompensationRelatedCostsGeneralTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Compensation Related Costs, General [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationRelatedCostsGeneralTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CompensationRelatedCostsGeneralTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CompensationRelatedCostsGeneralTextBlock" xlink:to="lab_us-gaap_CompensationRelatedCostsGeneralTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseTermOfContract_7723bb6b-ce78-4652-aee3-5102d7488a69_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseTermOfContract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease term</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseTermOfContract_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseTermOfContract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Term of Contract</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseTermOfContract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseTermOfContract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseTermOfContract" xlink:to="lab_us-gaap_LesseeOperatingLeaseTermOfContract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedStockUnitsRSUMember_a7a0fcaa-8a35-4a9c-8ddf-64e42f8d676e_verboseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units (RSUs)</link:label>
    <link:label id="lab_us-gaap_RestrictedStockUnitsRSUMember_label_en-US" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units (RSUs) [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:to="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_f2d63959-f715-40ef-bf81-16310efe4ef9_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionLineItems_01a5e966-1170-4204-98c4-3efff2f4feb3_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition [Line Items]</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionLineItems_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems" xlink:to="lab_us-gaap_BusinessAcquisitionLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_a68c39b1-dc9d-4391-820d-9ead35af626c_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting Tranche Two</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Tranche Two [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:to="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_USTreasurySecuritiesMember_7e5cfd09-c25a-45a1-b911-04f1e0254a5f_verboseLabel_en-US" xlink:label="lab_us-gaap_USTreasurySecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury securities</link:label>
    <link:label id="lab_us-gaap_USTreasurySecuritiesMember_afe0105c-8441-4c9f-8648-2047a9852605_terseLabel_en-US" xlink:label="lab_us-gaap_USTreasurySecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury securities</link:label>
    <link:label id="lab_us-gaap_USTreasurySecuritiesMember_label_en-US" xlink:label="lab_us-gaap_USTreasurySecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">US Treasury Securities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_USTreasurySecuritiesMember" xlink:to="lab_us-gaap_USTreasurySecuritiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementAbstract_083b2608-50c9-4817-ae05-e0b47bee4ac4_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementAbstract" xlink:to="lab_us-gaap_IncomeStatementAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AmendmentFlag_c1e6c1a6-ff57-4802-8d08-519174a38eff_terseLabel_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:label id="lab_dei_AmendmentFlag_label_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_AmendmentFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AmendmentFlag" xlink:to="lab_dei_AmendmentFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromStockOptionsExercised_a3257f68-faa3-4f76-a899-c516289a371a_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from stock option exercises</link:label>
    <link:label id="lab_us-gaap_ProceedsFromStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_ProceedsFromStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Stock Options Exercised</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromStockOptionsExercised" xlink:to="lab_us-gaap_ProceedsFromStockOptionsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareNet_8627abbb-a0f0-4918-95c4-99e9bb0cea45_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized software development costs, net</link:label>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareNet_e5badb02-768e-49d4-b827-158ddbb171c5_totalLabel_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized software development costs, net</link:label>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareNet_label_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareNet" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareNet" xlink:to="lab_us-gaap_CapitalizedComputerSoftwareNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_f27ee0da-51a4-4499-9e62-950383510b3c_terseLabel_en-US" xlink:label="lab_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Significant Accounting Policies</link:label>
    <link:label id="lab_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_label_en-US" xlink:label="lab_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basis of Presentation and Significant Accounting Policies [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:to="lab_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_657edfa3-075f-4417-a3b9-4d1ac5226e4a_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of restricted stock awards (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, Restricted Stock Award, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_dcdd41a6-f956-45f3-833f-6289a006d765_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_9ef9f37c-b45a-4cc1-aa67-00f133b55272_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Benefit from income taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_99acb0ec-9159-43d6-ad6a-61945c62c850_verboseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income tax expense (benefit)</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_4b6aeb56-2656-4cf8-8f7c-a59b463440ac_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable, net</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, after Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent" xlink:to="lab_us-gaap_AccountsReceivableNetCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_7a403b0d-5608-4a54-bdb2-772275ac72be_terseLabel_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_label_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementEquityComponentsAxis" xlink:to="lab_us-gaap_StatementEquityComponentsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueDisclosuresAbstract_1df345fa-5995-4614-9869-44757a3823ac_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Disclosures [Abstract]</link:label>
    <link:label id="lab_us-gaap_FairValueDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Disclosures [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract" xlink:to="lab_us-gaap_FairValueDisclosuresAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_227c3781-20e3-42be-8e6e-b431446fc4c3_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities [Axis]</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrent_654e0cae-8f9c-4d36-b2b1-c347fe5fa003_totalLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current assets</link:label>
    <link:label id="lab_us-gaap_AssetsCurrent_label_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="lab_us-gaap_AssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTable_7ce3204d-2962-4008-a0b5-2a5eb87b5372_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Table]</link:label>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTable_label_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable" xlink:to="lab_us-gaap_DisaggregationOfRevenueTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_37dcf19d-e659-4d13-a662-928377e0002b_totalLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total future minimum lease payments</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_6d2bd845-2a15-4be2-ae3f-662d1195c1b5_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forfeited (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_842842b5-4aee-446e-b6cf-b2082da33967_terseLabel_en-US" xlink:label="lab_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">RSUs and PSUs</link:label>
    <link:label id="lab_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_label_en-US" xlink:label="lab_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units And Performance Stock Units [Member]</link:label>
    <link:label id="lab_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_documentation_en-US" xlink:label="lab_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units And Performance Stock Units [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember" xlink:href="appf-20210630.xsd#appf_RestrictedStockUnitsAndPerformanceStockUnitsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember" xlink:to="lab_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFileNumber_aa9818b2-d9e4-4300-9ebb-f9d5df54bf91_terseLabel_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:label id="lab_dei_EntityFileNumber_label_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityFileNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFileNumber" xlink:to="lab_dei_EntityFileNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent_2468566b-bdb1-498d-ae25-d69961fb4cf1_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued employee expenses&#8212;noncurrent</link:label>
    <link:label id="lab_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent_label_en-US" xlink:label="lab_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee-related Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent" xlink:to="lab_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_ddb4cec5-d4dc-48f2-ab71-a57e032425cc_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</link:label>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_9a2ba4a5-587c-4214-b50a-673db4e3abec_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:to="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ProductOrServiceAxis_0649913a-68ac-4fbd-9349-444c4e1a7db6_terseLabel_en-US" xlink:label="lab_srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:label id="lab_srt_ProductOrServiceAxis_label_en-US" xlink:label="lab_srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductOrServiceAxis" xlink:to="lab_srt_ProductOrServiceAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_93af01dd-e44f-47fe-b6de-d54d80ab329f_terseLabel_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_label_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityIncorporationStateCountryCode" xlink:to="lab_dei_EntityIncorporationStateCountryCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_806d2fe5-45a7-4766-ae19-22322276b027_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Weighted Average Number of Shares</link:label>
    <link:label id="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Weighted Average Number of Shares [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntitySmallBusiness_78ac1afc-5978-40f4-89fe-864c00a958e5_terseLabel_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Small Business</link:label>
    <link:label id="lab_dei_EntitySmallBusiness_label_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Small Business</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntitySmallBusiness"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntitySmallBusiness" xlink:to="lab_dei_EntitySmallBusiness" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockParOrStatedValuePerShare_c8476a3f-bef3-4f9c-8630-0dd527cb5a02_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, par value (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_PreferredStockParOrStatedValuePerShare_label_en-US" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_6ccd2ea0-b741-4286-bf7f-be13940f74b7_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Remaining stock-based compensation expense for unvested shares, not yet recognized</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquityComponentDomain_8e52b9ab-734e-419c-a103-71561a27f514_terseLabel_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:label id="lab_us-gaap_EquityComponentDomain_label_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityComponentDomain" xlink:to="lab_us-gaap_EquityComponentDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_OtherServicesMember_c0220dbe-4838-4801-a4bc-08ea8b9c4de7_terseLabel_en-US" xlink:label="lab_appf_OtherServicesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other</link:label>
    <link:label id="lab_appf_OtherServicesMember_label_en-US" xlink:label="lab_appf_OtherServicesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Services [Member]</link:label>
    <link:label id="lab_appf_OtherServicesMember_documentation_en-US" xlink:label="lab_appf_OtherServicesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Services [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_OtherServicesMember" xlink:href="appf-20210630.xsd#appf_OtherServicesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_OtherServicesMember" xlink:to="lab_appf_OtherServicesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SellingAndMarketingExpense_b4cf0a67-0ced-4487-9b38-359dd78c2a6d_terseLabel_en-US" xlink:label="lab_us-gaap_SellingAndMarketingExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales and marketing</link:label>
    <link:label id="lab_us-gaap_SellingAndMarketingExpense_label_en-US" xlink:label="lab_us-gaap_SellingAndMarketingExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling and Marketing Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingAndMarketingExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingAndMarketingExpense" xlink:to="lab_us-gaap_SellingAndMarketingExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_064ada57-a6b2-4c43-b57e-bfd9318919bf_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_fb9dec78-91af-4915-acdd-941c14200a6f_terseLabel_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Discontinued Operations, Disposed of by Sale</link:label>
    <link:label id="lab_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_label_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Discontinued Operations, Disposed of by Sale [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:to="lab_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_4877cd38-34c5-48a6-b71c-46b0eb7e810a_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group Name [Domain]</link:label>
    <link:label id="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_label_en-US" xlink:label="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:to="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour_17405bd8-043d-46d7-9416-4782f6f3b5d9_terseLabel_en-US" xlink:label="lab_appf_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Thereafter</link:label>
    <link:label id="lab_appf_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour_label_en-US" xlink:label="lab_appf_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, after Year Four</link:label>
    <link:label id="lab_appf_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour_documentation_en-US" xlink:label="lab_appf_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, after Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:href="appf-20210630.xsd#appf_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:to="lab_appf_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LessorOperatingLeaseRenewalTerm_63084885-69d3-4c5b-82ab-3045f0ea7db2_terseLabel_en-US" xlink:label="lab_us-gaap_LessorOperatingLeaseRenewalTerm" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease renewal term</link:label>
    <link:label id="lab_us-gaap_LessorOperatingLeaseRenewalTerm_label_en-US" xlink:label="lab_us-gaap_LessorOperatingLeaseRenewalTerm" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessor, Operating Lease, Renewal Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeaseRenewalTerm" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LessorOperatingLeaseRenewalTerm"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LessorOperatingLeaseRenewalTerm" xlink:to="lab_us-gaap_LessorOperatingLeaseRenewalTerm" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementLineItems_1d456d47-0f5a-4414-8b2c-c38103474ceb_terseLabel_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:label id="lab_us-gaap_StatementLineItems_label_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementLineItems" xlink:to="lab_us-gaap_StatementLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherCurrentLiabilities_c0276cc5-8753-4a19-a2ac-986223383acc_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other current liabilities</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherCurrentLiabilities_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Other Current Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOtherCurrentLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" xlink:to="lab_us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_6fcdcf38-16cd-4455-8f5b-295b15f1024d_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Contract with Customer, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock_24e4a52b-9120-4dee-bc92-29bff8032611_terseLabel_en-US" xlink:label="lab_appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Accrued Employee Expenses</link:label>
    <link:label id="lab_appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock_label_en-US" xlink:label="lab_appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Accrued Employee Expenses [Table Text Block]</link:label>
    <link:label id="lab_appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock_documentation_en-US" xlink:label="lab_appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Accrued Employee Expenses</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock" xlink:href="appf-20210630.xsd#appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock" xlink:to="lab_appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_c613445a-9f22-4699-b37e-637aac3b001d_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Exercise Price&#160;per&#160;Share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_c17b7481-4704-4ecd-9e45-6a94118eb872_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment securities&#8212;noncurrent</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAbstract_2a8b1ce2-f59c-470b-982d-8a09b01b01c3_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Available-for-sale Securities, Debt Maturities [Abstract]</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAbstract_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Available-for-sale Securities, Debt Maturities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAbstract" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_6a01f204-f755-4179-b425-c82fc13a6785_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated Fair Value</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_76a4ee77-8609-4cd9-a966-a27b6c2d721f_totalLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total available-for-sale investment securities</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_bb3d1ea2-7302-4f64-8cb1-3052a393e91f_verboseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Available-for-sale investment securities</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_2e9c0f21-4e63-494c-9aa5-e9375aec054a_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2025</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_WeightedAverageMember_12d9974d-fa73-48db-b63a-e3d18cd0168b_terseLabel_en-US" xlink:label="lab_srt_WeightedAverageMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average&#160;Useful Life in Years</link:label>
    <link:label id="lab_srt_WeightedAverageMember_label_en-US" xlink:label="lab_srt_WeightedAverageMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_WeightedAverageMember" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_WeightedAverageMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_WeightedAverageMember" xlink:to="lab_srt_WeightedAverageMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressStateOrProvince_d4f0542a-e1cb-47f5-86e6-54d750e54710_terseLabel_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:label id="lab_dei_EntityAddressStateOrProvince_label_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityAddressStateOrProvince"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressStateOrProvince" xlink:to="lab_dei_EntityAddressStateOrProvince" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_a654b770-3feb-48bc-bb5e-2a07a482709a_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (loss) before benefit from income taxes</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueInputsLevel2Member_b876ca0f-51a1-4506-8176-9f0eb12df0b3_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel2Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Level&#160;2</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel2Member_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel2Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Inputs, Level 2 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel2Member" xlink:to="lab_us-gaap_FairValueInputsLevel2Member" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentInformationTable_00dec15d-93f3-447d-ad0e-575db6fc607a_terseLabel_en-US" xlink:label="lab_dei_DocumentInformationTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Information [Table]</link:label>
    <link:label id="lab_dei_DocumentInformationTable_label_en-US" xlink:label="lab_dei_DocumentInformationTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Information [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentInformationTable" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_DocumentInformationTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentInformationTable" xlink:to="lab_dei_DocumentInformationTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingAbstract_b4ef35e6-b9d4-4fe9-960b-c6d130f0675c_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting [Abstract]</link:label>
    <link:label id="lab_us-gaap_SegmentReportingAbstract_label_en-US" xlink:label="lab_us-gaap_SegmentReportingAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingAbstract" xlink:to="lab_us-gaap_SegmentReportingAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_5578bb97-d659-4097-9a04-525bde021be1_totalLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total available-for-sale investment securities</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale, Amortized Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife_98d9b592-da33-45cc-aeb6-b12554fdb1c7_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average&#160;Useful Life in Years</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Useful Life</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UseOfEstimates_1415e456-dd6c-4d04-ad7e-c2b689794bea_terseLabel_en-US" xlink:label="lab_us-gaap_UseOfEstimates" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Use of Estimates</link:label>
    <link:label id="lab_us-gaap_UseOfEstimates_label_en-US" xlink:label="lab_us-gaap_UseOfEstimates" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Use of Estimates, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UseOfEstimates" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UseOfEstimates"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UseOfEstimates" xlink:to="lab_us-gaap_UseOfEstimates" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_9863f12c-3eca-47ae-a551-6cca77ece489_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options granted (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityShellCompany_ad836ca4-1a68-4c1e-8588-aff6caf4c290_terseLabel_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Shell Company</link:label>
    <link:label id="lab_dei_EntityShellCompany_label_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Shell Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityShellCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityShellCompany" xlink:to="lab_dei_EntityShellCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_5f7876c3-9a19-422e-8b08-2fa08bbfe68f_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Business Acquisitions, by Acquisition [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Business Acquisitions, by Acquisition [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AgencySecuritiesMember_d909e70c-1e08-4022-87fa-c0569bc436eb_verboseLabel_en-US" xlink:label="lab_us-gaap_AgencySecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Agency securities</link:label>
    <link:label id="lab_us-gaap_AgencySecuritiesMember_0fce45a3-f527-4e1c-8cd5-d9d25ca27c1a_terseLabel_en-US" xlink:label="lab_us-gaap_AgencySecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Agency securities</link:label>
    <link:label id="lab_us-gaap_AgencySecuritiesMember_6b4823fe-30b4-49d9-a5f1-6d6455e6a1bf_netLabel_en-US" xlink:label="lab_us-gaap_AgencySecuritiesMember" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Agency securities</link:label>
    <link:label id="lab_us-gaap_AgencySecuritiesMember_label_en-US" xlink:label="lab_us-gaap_AgencySecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Agency Securities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AgencySecuritiesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AgencySecuritiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AgencySecuritiesMember" xlink:to="lab_us-gaap_AgencySecuritiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_LocalPhoneNumber_9a9f4833-1b75-4274-ab5e-ba0b722337e8_terseLabel_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:label id="lab_dei_LocalPhoneNumber_label_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_LocalPhoneNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_LocalPhoneNumber" xlink:to="lab_dei_LocalPhoneNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VestingAxis_ff74d6ef-c1c8-4703-a892-a884d9cd5d6b_terseLabel_en-US" xlink:label="lab_us-gaap_VestingAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting [Axis]</link:label>
    <link:label id="lab_us-gaap_VestingAxis_label_en-US" xlink:label="lab_us-gaap_VestingAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VestingAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VestingAxis" xlink:to="lab_us-gaap_VestingAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Assets_e142e5c0-e037-40c2-9db9-a2774fc54689_totalLabel_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total assets</link:label>
    <link:label id="lab_us-gaap_Assets_label_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Assets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Assets" xlink:to="lab_us-gaap_Assets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesRestrictedStock_629eb7a8-8582-4d3e-ba22-425ca8081738_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: Weighted average unvested restricted shares subject to repurchase (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesRestrictedStock_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares, Restricted Stock</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesRestrictedStock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxesAndTaxCredits_83c36798-d8f5-4509-99bc-0aefc0cbb21d_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred income taxes</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxesAndTaxCredits_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Taxes and Tax Credits</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:to="lab_us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_LesseeOperatingLeaseTenantAllowanceRemainderOfFiscalYear_dce76d8f-273b-4eaf-812b-f9fdd483d7b4_terseLabel_en-US" xlink:label="lab_appf_LesseeOperatingLeaseTenantAllowanceRemainderOfFiscalYear" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tenant improvement allowance, remainder of fiscal year</link:label>
    <link:label id="lab_appf_LesseeOperatingLeaseTenantAllowanceRemainderOfFiscalYear_label_en-US" xlink:label="lab_appf_LesseeOperatingLeaseTenantAllowanceRemainderOfFiscalYear" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Tenant Allowance, Remainder Of Fiscal Year</link:label>
    <link:label id="lab_appf_LesseeOperatingLeaseTenantAllowanceRemainderOfFiscalYear_documentation_en-US" xlink:label="lab_appf_LesseeOperatingLeaseTenantAllowanceRemainderOfFiscalYear" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Tenant Allowance, Remainder Of Fiscal Year</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LesseeOperatingLeaseTenantAllowanceRemainderOfFiscalYear" xlink:href="appf-20210630.xsd#appf_LesseeOperatingLeaseTenantAllowanceRemainderOfFiscalYear"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_LesseeOperatingLeaseTenantAllowanceRemainderOfFiscalYear" xlink:to="lab_appf_LesseeOperatingLeaseTenantAllowanceRemainderOfFiscalYear" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PlanNameDomain_158261de-b8a2-42ca-8fef-3987c9e81c23_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:label id="lab_us-gaap_PlanNameDomain_label_en-US" xlink:label="lab_us-gaap_PlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameDomain" xlink:to="lab_us-gaap_PlanNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_c765d1d0-81a6-41cb-89f3-ae7899c92f63_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares authorized (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesAuthorized" xlink:to="lab_us-gaap_CommonStockSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesIssuedBasic_902ed1a5-16d0-48a3-a7cb-fbd721a82eaa_verboseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesIssuedBasic" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average common shares outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesIssuedBasic_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesIssuedBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Issued, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesIssuedBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesIssuedBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesIssuedBasic" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesIssuedBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RepaymentsOfSecuredDebt_800b9de2-8a6a-48d3-a31c-208ec2e5e8cd_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_RepaymentsOfSecuredDebt" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Principal payments on debt</link:label>
    <link:label id="lab_us-gaap_RepaymentsOfSecuredDebt_label_en-US" xlink:label="lab_us-gaap_RepaymentsOfSecuredDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repayments of Secured Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfSecuredDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfSecuredDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RepaymentsOfSecuredDebt" xlink:to="lab_us-gaap_RepaymentsOfSecuredDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_TitleOfIndividualAxis_fb21247b-cae7-406a-b70a-b00a13593fdd_terseLabel_en-US" xlink:label="lab_srt_TitleOfIndividualAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of Individual [Axis]</link:label>
    <link:label id="lab_srt_TitleOfIndividualAxis_label_en-US" xlink:label="lab_srt_TitleOfIndividualAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of Individual [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualAxis" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_TitleOfIndividualAxis" xlink:to="lab_srt_TitleOfIndividualAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ProductsAndServicesDomain_8d554bc2-3d55-4ac9-8c51-39526a504da8_terseLabel_en-US" xlink:label="lab_srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:label id="lab_srt_ProductsAndServicesDomain_label_en-US" xlink:label="lab_srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductsAndServicesDomain" xlink:to="lab_srt_ProductsAndServicesDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_889c0542-b798-4190-8ed1-3840ec66c6ef_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Restricted Stock Units Activity</link:label>
    <link:label id="lab_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Nonvested Restricted Stock Units Activity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_80a2a884-da82-485e-b2ee-80eaeb1d94c2_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and product development</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and Development Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpense" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_A2021ThreeYearPlanMember_93a78911-c729-4516-9fbd-8331faa498bf_terseLabel_en-US" xlink:label="lab_appf_A2021ThreeYearPlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2021 Three Year Plan</link:label>
    <link:label id="lab_appf_A2021ThreeYearPlanMember_label_en-US" xlink:label="lab_appf_A2021ThreeYearPlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2021 Three Year Plan [Member]</link:label>
    <link:label id="lab_appf_A2021ThreeYearPlanMember_documentation_en-US" xlink:label="lab_appf_A2021ThreeYearPlanMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2021 Three Year Plan</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_A2021ThreeYearPlanMember" xlink:href="appf-20210630.xsd#appf_A2021ThreeYearPlanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_A2021ThreeYearPlanMember" xlink:to="lab_appf_A2021ThreeYearPlanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric_13a7c802-1a1d-4469-940a-1c9ed6155633_terseLabel_en-US" xlink:label="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Percent of achievement of award target performance metric</link:label>
    <link:label id="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric_label_en-US" xlink:label="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Percent Of Achievement Of Award Target Performance Metric</link:label>
    <link:label id="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric_documentation_en-US" xlink:label="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Percent Of Achievement Of Award Target Performance Metric</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric" xlink:href="appf-20210630.xsd#appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric" xlink:to="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1dc749c6-96f9-4d06-828c-28e4b836c203_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_MyCaseMember_637e31a0-8ea8-4584-b7e8-a695b8403a1c_terseLabel_en-US" xlink:label="lab_appf_MyCaseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MyCase</link:label>
    <link:label id="lab_appf_MyCaseMember_label_en-US" xlink:label="lab_appf_MyCaseMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MyCase [Member]</link:label>
    <link:label id="lab_appf_MyCaseMember_documentation_en-US" xlink:label="lab_appf_MyCaseMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MyCase</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_MyCaseMember" xlink:href="appf-20210630.xsd#appf_MyCaseMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_MyCaseMember" xlink:to="lab_appf_MyCaseMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueByMeasurementFrequencyAxis_f8170f38-c1aa-4ed8-af1c-25cfea8e9a75_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Frequency [Axis]</link:label>
    <link:label id="lab_us-gaap_FairValueByMeasurementFrequencyAxis_label_en-US" xlink:label="lab_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Frequency [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="lab_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_38ea68b6-5745-48a8-a7c4-054c09036d0a_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash provided by operating activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_AvailableForSaleSecuritiesMaximumContractualMaturity_f0d9dc13-4e1c-48b1-9512-ec6950658e7f_terseLabel_en-US" xlink:label="lab_appf_AvailableForSaleSecuritiesMaximumContractualMaturity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum contractual maturity period</link:label>
    <link:label id="lab_appf_AvailableForSaleSecuritiesMaximumContractualMaturity_label_en-US" xlink:label="lab_appf_AvailableForSaleSecuritiesMaximumContractualMaturity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Available-For-Sale Securities, Maximum Contractual Maturity</link:label>
    <link:label id="lab_appf_AvailableForSaleSecuritiesMaximumContractualMaturity_documentation_en-US" xlink:label="lab_appf_AvailableForSaleSecuritiesMaximumContractualMaturity" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Available-For-Sale Securities, Maximum Contractual Maturity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_AvailableForSaleSecuritiesMaximumContractualMaturity" xlink:href="appf-20210630.xsd#appf_AvailableForSaleSecuritiesMaximumContractualMaturity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_AvailableForSaleSecuritiesMaximumContractualMaturity" xlink:to="lab_appf_AvailableForSaleSecuritiesMaximumContractualMaturity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_4be66c51-a264-4cb2-9291-dd59cecff8fc_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Recurring and Nonrecurring [Table]</link:label>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Recurring and Nonrecurring [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseCostTableTextBlock_120e6cdb-6e37-4a3f-8528-19434e3ee1d3_terseLabel_en-US" xlink:label="lab_us-gaap_LeaseCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Components of Lease Expense</link:label>
    <link:label id="lab_us-gaap_LeaseCostTableTextBlock_label_en-US" xlink:label="lab_us-gaap_LeaseCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease, Cost [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCostTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseCostTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseCostTableTextBlock" xlink:to="lab_us-gaap_LeaseCostTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_e1ba4d07-34ae-4b34-b126-98fc9ad1147f_terseLabel_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_label_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityTaxIdentificationNumber" xlink:to="lab_dei_EntityTaxIdentificationNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CorporateBondSecuritiesMember_5f3a6e56-232f-4ad3-a2be-677783cf1ead_verboseLabel_en-US" xlink:label="lab_us-gaap_CorporateBondSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate bonds</link:label>
    <link:label id="lab_us-gaap_CorporateBondSecuritiesMember_9029ec4f-b98f-4cee-bda7-f937b32e82a3_terseLabel_en-US" xlink:label="lab_us-gaap_CorporateBondSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate bonds</link:label>
    <link:label id="lab_us-gaap_CorporateBondSecuritiesMember_d6400b83-ecec-4aaf-b9d9-83ab4f8263a1_netLabel_en-US" xlink:label="lab_us-gaap_CorporateBondSecuritiesMember" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate bonds</link:label>
    <link:label id="lab_us-gaap_CorporateBondSecuritiesMember_label_en-US" xlink:label="lab_us-gaap_CorporateBondSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate Bond Securities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CorporateBondSecuritiesMember" xlink:to="lab_us-gaap_CorporateBondSecuritiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_CoreSolutionsMember_d8030b69-0fc6-42dc-b260-a77a3acc95a6_terseLabel_en-US" xlink:label="lab_appf_CoreSolutionsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Core solutions</link:label>
    <link:label id="lab_appf_CoreSolutionsMember_label_en-US" xlink:label="lab_appf_CoreSolutionsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Core Solutions [Member]</link:label>
    <link:label id="lab_appf_CoreSolutionsMember_documentation_en-US" xlink:label="lab_appf_CoreSolutionsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Core Solutions [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CoreSolutionsMember" xlink:href="appf-20210630.xsd#appf_CoreSolutionsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_CoreSolutionsMember" xlink:to="lab_appf_CoreSolutionsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_ValuePlusServicesMember_8976ae0e-9ca5-4cb1-ba7d-cb38c90cec0b_terseLabel_en-US" xlink:label="lab_appf_ValuePlusServicesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Value+ services</link:label>
    <link:label id="lab_appf_ValuePlusServicesMember_label_en-US" xlink:label="lab_appf_ValuePlusServicesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Value Plus Services [Member]</link:label>
    <link:label id="lab_appf_ValuePlusServicesMember_documentation_en-US" xlink:label="lab_appf_ValuePlusServicesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Value Plus Services [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ValuePlusServicesMember" xlink:href="appf-20210630.xsd#appf_ValuePlusServicesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_ValuePlusServicesMember" xlink:to="lab_appf_ValuePlusServicesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_d1dd766b-5a89-4d8a-8c62-cb45a55db5f8_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basic (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_313f2270-c0aa-4894-993b-c49e496bdcd2_totalLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average common shares outstanding; basic (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_e9406a47-f3ef-43ff-bef6-10d21a14ab09_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Diluted (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareDiluted" xlink:to="lab_us-gaap_EarningsPerShareDiluted" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VestingDomain_27751f0b-53d6-4cf0-86b9-8a29717e3f6f_terseLabel_en-US" xlink:label="lab_us-gaap_VestingDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting [Domain]</link:label>
    <link:label id="lab_us-gaap_VestingDomain_label_en-US" xlink:label="lab_us-gaap_VestingDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VestingDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VestingDomain" xlink:to="lab_us-gaap_VestingDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedPayrollTaxesCurrent_2a2ec63a-7a10-434a-bf65-69bfba752f18_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedPayrollTaxesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued payroll taxes and other</link:label>
    <link:label id="lab_us-gaap_AccruedPayrollTaxesCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedPayrollTaxesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Payroll Taxes, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedPayrollTaxesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedPayrollTaxesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedPayrollTaxesCurrent" xlink:to="lab_us-gaap_AccruedPayrollTaxesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_e5ae6bb4-bb61-4729-b5aa-342cea882a3b_totalLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Comprehensive income</link:label>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill_0bd4a532-bbfc-4b15-b2ab-a12f4c558515_terseLabel_en-US" xlink:label="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible assets, net</link:label>
    <link:label id="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill_label_en-US" xlink:label="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible Assets, Net (Excluding Goodwill)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_PartnerRelationshipsMember_49a0e4d3-f0cf-4be2-bd8a-f3dbf65048cc_terseLabel_en-US" xlink:label="lab_appf_PartnerRelationshipsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Partner relationships</link:label>
    <link:label id="lab_appf_PartnerRelationshipsMember_label_en-US" xlink:label="lab_appf_PartnerRelationshipsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Partner Relationships [Member]</link:label>
    <link:label id="lab_appf_PartnerRelationshipsMember_documentation_en-US" xlink:label="lab_appf_PartnerRelationshipsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Partner Relationships [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PartnerRelationshipsMember" xlink:href="appf-20210630.xsd#appf_PartnerRelationshipsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_PartnerRelationshipsMember" xlink:to="lab_appf_PartnerRelationshipsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_7abcec71-7872-4260-ad54-303451ce89cb_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash (used in) provided by financing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TreasuryStockValue_97d123cc-090a-4fd1-9752-e50353b880e0_negatedLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockValue" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury stock, at cost, 419 shares of Class A common stock as of June&#160;30, 2021 and December&#160;31, 2020</link:label>
    <link:label id="lab_us-gaap_TreasuryStockValue_label_en-US" xlink:label="lab_us-gaap_TreasuryStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock, Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockValue" xlink:to="lab_us-gaap_TreasuryStockValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_8e598d57-1061-4ae4-88e3-ed92ece6390c_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average common shares outstanding:</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_6aa767d2-1ccd-4d2e-ae5d-d5e77696494b_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred income taxes&#8212;noncurrent</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Tax Liabilities, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_c52f5359-adfc-41a6-9645-1f1326465f5c_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting period</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_15ea581f-cc7e-4bb3-b235-d940431d6b28_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Payable, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableCurrent" xlink:to="lab_us-gaap_AccountsPayableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DepreciationDepletionAndAmortization_d155d140-5271-4a7f-891d-10e13288f7e4_terseLabel_en-US" xlink:label="lab_us-gaap_DepreciationDepletionAndAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation and amortization</link:label>
    <link:label id="lab_us-gaap_DepreciationDepletionAndAmortization_label_en-US" xlink:label="lab_us-gaap_DepreciationDepletionAndAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation, Depletion and Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DepreciationDepletionAndAmortization" xlink:to="lab_us-gaap_DepreciationDepletionAndAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedSalariesCurrent_3d7d668f-0f1a-438d-954c-d922e95676a6_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedSalariesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued payroll</link:label>
    <link:label id="lab_us-gaap_AccruedSalariesCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedSalariesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Salaries, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedSalariesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedSalariesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedSalariesCurrent" xlink:to="lab_us-gaap_AccruedSalariesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_d850142a-0b8e-406c-b05c-21a928a0777d_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_6436e3a2-df26-4eec-a2e3-fd7fb5c55011_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Assets Measured on Recurring Basis</link:label>
    <link:label id="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Assets Measured on Recurring Basis [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:to="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization_49a6a805-ea27-4460-b859-b635012f91c4_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: Accumulated amortization</link:label>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization_label_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Accumulated Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization" xlink:to="lab_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_63168439-51ad-406f-b23e-ec05bdcb91ea_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss)</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">AOCI Attributable to Parent [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_b73d2a74-2d86-41fe-b3bd-a84496fa2003_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2021</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareNetAbstract_ba303c79-c855-4a4e-8688-471adb3ab1e1_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareNetAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Years Ending December 31,</link:label>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareNetAbstract_label_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareNetAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Net [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareNetAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareNetAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareNetAbstract" xlink:to="lab_us-gaap_CapitalizedComputerSoftwareNetAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_327d6199-679f-475d-b1c6-9da09f632a98_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesOutstanding" xlink:to="lab_us-gaap_CommonStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_48d6e0b3-873b-45e6-8690-6ed502c9802f_terseLabel_en-US" xlink:label="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instruments [Domain]</link:label>
    <link:label id="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_label_en-US" xlink:label="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instruments [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_LesseeOperatingLeaseTenantAllowanceYearOne_f28f5113-1ec1-4764-870a-12fdb24abb3a_terseLabel_en-US" xlink:label="lab_appf_LesseeOperatingLeaseTenantAllowanceYearOne" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tenant improvement allowance, 2022</link:label>
    <link:label id="lab_appf_LesseeOperatingLeaseTenantAllowanceYearOne_label_en-US" xlink:label="lab_appf_LesseeOperatingLeaseTenantAllowanceYearOne" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Tenant Allowance, Year One</link:label>
    <link:label id="lab_appf_LesseeOperatingLeaseTenantAllowanceYearOne_documentation_en-US" xlink:label="lab_appf_LesseeOperatingLeaseTenantAllowanceYearOne" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Tenant Allowance, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LesseeOperatingLeaseTenantAllowanceYearOne" xlink:href="appf-20210630.xsd#appf_LesseeOperatingLeaseTenantAllowanceYearOne"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_LesseeOperatingLeaseTenantAllowanceYearOne" xlink:to="lab_appf_LesseeOperatingLeaseTenantAllowanceYearOne" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_1e5027fd-f766-4999-a44b-7b2da48a7d51_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of revenue (exclusive of depreciation and amortization)</link:label>
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_label_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Goods and Services Sold</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfGoodsAndServicesSold" xlink:to="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonClassBMember_5eb22723-44c2-4755-bcec-da8137ecb30c_terseLabel_en-US" xlink:label="lab_us-gaap_CommonClassBMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class B common stock</link:label>
    <link:label id="lab_us-gaap_CommonClassBMember_label_en-US" xlink:label="lab_us-gaap_CommonClassBMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Class B [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonClassBMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonClassBMember" xlink:to="lab_us-gaap_CommonClassBMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentAbstract_17a2c296-a7af-4994-bda2-ec3a86de4c33_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and Development [Abstract]</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentAbstract_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and Development [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentAbstract" xlink:to="lab_us-gaap_ResearchAndDevelopmentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_d2873343-26fc-4b36-b296-77310b8a0b1c_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit_a297918f-3345-443e-9310-8cd043d513b7_terseLabel_en-US" xlink:label="lab_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Per incident policy limit</link:label>
    <link:label id="lab_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit_label_en-US" xlink:label="lab_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Liability And Casualty Insurance, Per Incident And Per Residence Coverage Limit</link:label>
    <link:label id="lab_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit_documentation_en-US" xlink:label="lab_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Liability And Casualty Insurance, Per Incident And Per Residence Coverage Limit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit" xlink:href="appf-20210630.xsd#appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit" xlink:to="lab_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings_8c46487a-f8a9-408e-81c7-a7bcd358686b_terseLabel_en-US" xlink:label="lab_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting of restricted stock units, net of shares withheld for taxes</link:label>
    <link:label id="lab_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings_label_en-US" xlink:label="lab_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units, Value, Shares Issued Net Of Tax Withholdings</link:label>
    <link:label id="lab_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings_documentation_en-US" xlink:label="lab_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units, Value, Shares Issued Net Of Tax Withholdings</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" xlink:href="appf-20210630.xsd#appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" xlink:to="lab_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_936ff780-61f0-4e29-a7aa-3eb5548c2e66_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number&#160;of Shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries_88a7fdec-311c-42bd-b804-c79c90893a71_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from divestiture of subsidiary</link:label>
    <link:label id="lab_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries_label_en-US" xlink:label="lab_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Divestiture of Interest in Consolidated Subsidiaries</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" xlink:to="lab_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseCost_50b08aea-1bb9-4f6b-9a64-89481ce44742_totalLabel_en-US" xlink:label="lab_us-gaap_LeaseCost" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total lease cost</link:label>
    <link:label id="lab_us-gaap_LeaseCost_label_en-US" xlink:label="lab_us-gaap_LeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCost" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseCost" xlink:to="lab_us-gaap_LeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_LesseeOperatingLeaseTenantAllowanceYearThree_4956074e-3de5-4eac-abda-c458de46a077_terseLabel_en-US" xlink:label="lab_appf_LesseeOperatingLeaseTenantAllowanceYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tenant improvement allowance, 2024</link:label>
    <link:label id="lab_appf_LesseeOperatingLeaseTenantAllowanceYearThree_label_en-US" xlink:label="lab_appf_LesseeOperatingLeaseTenantAllowanceYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Tenant Allowance, Year Three</link:label>
    <link:label id="lab_appf_LesseeOperatingLeaseTenantAllowanceYearThree_documentation_en-US" xlink:label="lab_appf_LesseeOperatingLeaseTenantAllowanceYearThree" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Tenant Allowance, Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LesseeOperatingLeaseTenantAllowanceYearThree" xlink:href="appf-20210630.xsd#appf_LesseeOperatingLeaseTenantAllowanceYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_LesseeOperatingLeaseTenantAllowanceYearThree" xlink:to="lab_appf_LesseeOperatingLeaseTenantAllowanceYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock_927ad6a1-e439-4f42-9af0-a1bb0ce9ae83_terseLabel_en-US" xlink:label="lab_appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Capitalized Computer Software</link:label>
    <link:label id="lab_appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock_label_en-US" xlink:label="lab_appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule Of Capitalized Computer Software [Table Text Block]</link:label>
    <link:label id="lab_appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock_documentation_en-US" xlink:label="lab_appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule Of Capitalized Computer Software [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock" xlink:href="appf-20210630.xsd#appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock" xlink:to="lab_appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CustomerRelationshipsMember_95e64200-7438-4ba9-8611-2dab49cde48a_terseLabel_en-US" xlink:label="lab_us-gaap_CustomerRelationshipsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer relationships</link:label>
    <link:label id="lab_us-gaap_CustomerRelationshipsMember_label_en-US" xlink:label="lab_us-gaap_CustomerRelationshipsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer Relationships [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CustomerRelationshipsMember" xlink:to="lab_us-gaap_CustomerRelationshipsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost_0fb8b2be-8c63-445f-885f-7aa0942eb441_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Due in one year or less</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_AmortizationOfOperatingLeaseRightOfUseAssets_487e344c-7430-4227-b03d-a809750532a3_terseLabel_en-US" xlink:label="lab_appf_AmortizationOfOperatingLeaseRightOfUseAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of operating lease right-of-use assets</link:label>
    <link:label id="lab_appf_AmortizationOfOperatingLeaseRightOfUseAssets_label_en-US" xlink:label="lab_appf_AmortizationOfOperatingLeaseRightOfUseAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization Of Operating Lease, Right-Of-Use Assets</link:label>
    <link:label id="lab_appf_AmortizationOfOperatingLeaseRightOfUseAssets_documentation_en-US" xlink:label="lab_appf_AmortizationOfOperatingLeaseRightOfUseAssets" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization Of Operating Lease, Right-Of-Use Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_AmortizationOfOperatingLeaseRightOfUseAssets" xlink:href="appf-20210630.xsd#appf_AmortizationOfOperatingLeaseRightOfUseAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_AmortizationOfOperatingLeaseRightOfUseAssets" xlink:to="lab_appf_AmortizationOfOperatingLeaseRightOfUseAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CompensationRelatedCostsAbstract_label_en-US" xlink:label="lab_us-gaap_CompensationRelatedCostsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Compensation Related Costs [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationRelatedCostsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CompensationRelatedCostsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CompensationRelatedCostsAbstract" xlink:to="lab_us-gaap_CompensationRelatedCostsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LossContingenciesLineItems_fcea9f27-c7d5-4364-ac61-efa799a5f733_terseLabel_en-US" xlink:label="lab_us-gaap_LossContingenciesLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss Contingencies [Line Items]</link:label>
    <link:label id="lab_us-gaap_LossContingenciesLineItems_label_en-US" xlink:label="lab_us-gaap_LossContingenciesLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss Contingencies [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingenciesLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LossContingenciesLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LossContingenciesLineItems" xlink:to="lab_us-gaap_LossContingenciesLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_deb4263e-fe47-44c8-84bd-bba3c476ef40_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment, net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_LesseeOperatingLeaseTenantAllowanceYearTwo_8d852163-599b-4624-8320-d3acecfaed4e_terseLabel_en-US" xlink:label="lab_appf_LesseeOperatingLeaseTenantAllowanceYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tenant improvement allowance, 2023</link:label>
    <link:label id="lab_appf_LesseeOperatingLeaseTenantAllowanceYearTwo_label_en-US" xlink:label="lab_appf_LesseeOperatingLeaseTenantAllowanceYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Tenant Allowance, Year Two</link:label>
    <link:label id="lab_appf_LesseeOperatingLeaseTenantAllowanceYearTwo_documentation_en-US" xlink:label="lab_appf_LesseeOperatingLeaseTenantAllowanceYearTwo" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Tenant Allowance, Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LesseeOperatingLeaseTenantAllowanceYearTwo" xlink:href="appf-20210630.xsd#appf_LesseeOperatingLeaseTenantAllowanceYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_LesseeOperatingLeaseTenantAllowanceYearTwo" xlink:to="lab_appf_LesseeOperatingLeaseTenantAllowanceYearTwo" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_TechnologyMember_5f24b518-638a-4a5c-a328-a450e3a63e32_terseLabel_en-US" xlink:label="lab_appf_TechnologyMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Technology</link:label>
    <link:label id="lab_appf_TechnologyMember_label_en-US" xlink:label="lab_appf_TechnologyMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Technology [Member]</link:label>
    <link:label id="lab_appf_TechnologyMember_documentation_en-US" xlink:label="lab_appf_TechnologyMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Technology [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_TechnologyMember" xlink:href="appf-20210630.xsd#appf_TechnologyMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_TechnologyMember" xlink:to="lab_appf_TechnologyMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareGross_4593764f-e13a-4e82-8e62-d550e67ebd9f_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized software development costs, gross</link:label>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareGross_label_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareGross" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareGross" xlink:to="lab_us-gaap_CapitalizedComputerSoftwareGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_14f5bf4d-02b5-46c4-962a-fc9b7cf5e42b_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense</link:label>
    <link:label id="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:to="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TreasuryStockSharesAcquired_019e05e4-ad83-41b0-b8c1-d7e425cab5d1_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockSharesAcquired" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repurchase of common stock (in shares)</link:label>
    <link:label id="lab_us-gaap_TreasuryStockSharesAcquired_cc3ae7cd-fa96-4a1c-8253-c6c13112083b_terseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockSharesAcquired" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repurchased shares (in shares)</link:label>
    <link:label id="lab_us-gaap_TreasuryStockSharesAcquired_label_en-US" xlink:label="lab_us-gaap_TreasuryStockSharesAcquired" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock, Shares, Acquired</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockSharesAcquired" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockSharesAcquired"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockSharesAcquired" xlink:to="lab_us-gaap_TreasuryStockSharesAcquired" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_e9360755-0154-4a66-9f26-67ca2b157d90_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income per common share:</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareAbstract" xlink:to="lab_us-gaap_EarningsPerShareAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentQuarterlyReport_f3fc02d5-43f6-4e71-959a-cbd57bf5c7d3_terseLabel_en-US" xlink:label="lab_dei_DocumentQuarterlyReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Quarterly Report</link:label>
    <link:label id="lab_dei_DocumentQuarterlyReport_label_en-US" xlink:label="lab_dei_DocumentQuarterlyReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Quarterly Report</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentQuarterlyReport" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_DocumentQuarterlyReport"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentQuarterlyReport" xlink:to="lab_dei_DocumentQuarterlyReport" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets_ad431a74-1cb2-4af6-b032-c19031f5315c_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other assets</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Other Operating Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:to="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherCurrentLiabilitiesMember_e894392c-51ec-4159-8309-28333de9ce56_terseLabel_en-US" xlink:label="lab_us-gaap_OtherCurrentLiabilitiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other current liabilities</link:label>
    <link:label id="lab_us-gaap_OtherCurrentLiabilitiesMember_label_en-US" xlink:label="lab_us-gaap_OtherCurrentLiabilitiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Current Liabilities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherCurrentLiabilitiesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherCurrentLiabilitiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherCurrentLiabilitiesMember" xlink:to="lab_us-gaap_OtherCurrentLiabilitiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_9e7563a9-0032-4d5a-b758-4790c528e871_terseLabel_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gain on sale of subsidiary</link:label>
    <link:label id="lab_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_label_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Discontinued Operation, Gain (Loss) from Disposal of Discontinued Operation, before Income Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" xlink:to="lab_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationAwardTrancheThreeMember_2470f81f-e85a-4196-9b36-d5d6a46ac1c5_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheThreeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting Tranche Three</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationAwardTrancheThreeMember_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheThreeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Tranche Three [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheThreeMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheThreeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationAwardTrancheThreeMember" xlink:to="lab_us-gaap_ShareBasedCompensationAwardTrancheThreeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_167f3d37-a55a-4d0d-8aee-e4fa89c2635e_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from sales of available-for-sale investments</link:label>
    <link:label id="lab_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_c58d343d-6e23-4140-ba9a-dcf61a822481_verboseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Proceeds from Sales</link:label>
    <link:label id="lab_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_label_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Sale of Debt Securities, Available-for-sale</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" xlink:to="lab_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_698014a2-07e5-4803-bb02-db43192041ca_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options outstanding, weighted average exercise price, beginning balance (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_0359bca3-4300-4617-a386-ab37c1148474_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options outstanding, weighted average exercise price, ending balance (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_c396baa7-091d-488c-b343-aa984588984d_terseLabel_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_label_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCommonStockSharesOutstanding" xlink:to="lab_dei_EntityCommonStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostsAndExpensesAbstract_301169eb-861a-447f-8027-5e6ce0a5ec1a_terseLabel_en-US" xlink:label="lab_us-gaap_CostsAndExpensesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Costs and operating expenses:</link:label>
    <link:label id="lab_us-gaap_CostsAndExpensesAbstract_label_en-US" xlink:label="lab_us-gaap_CostsAndExpensesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Costs and Expenses [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostsAndExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostsAndExpensesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostsAndExpensesAbstract" xlink:to="lab_us-gaap_CostsAndExpensesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PatentsMember_7b9ab80b-e219-4ced-af4e-5f9cd94885fa_terseLabel_en-US" xlink:label="lab_us-gaap_PatentsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Patents</link:label>
    <link:label id="lab_us-gaap_PatentsMember_label_en-US" xlink:label="lab_us-gaap_PatentsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Patents [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PatentsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PatentsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PatentsMember" xlink:to="lab_us-gaap_PatentsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_767f75ef-b367-415b-9499-c69533b2725d_terseLabel_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation expense</link:label>
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_label_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_2455a57c-d07d-47e5-ac32-e96f2e7536b0_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Grant&#160;Date Fair&#160;Value&#160;per&#160;Share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_8d327a9d-aee2-465a-b00f-24d1c936fc27_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalPeriodFocus" xlink:to="lab_dei_DocumentFiscalPeriodFocus" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock_df782428-2869-4220-b803-6ab2f750a341_terseLabel_en-US" xlink:label="lab_appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment Securities and Fair Value Measurements</link:label>
    <link:label id="lab_appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock_label_en-US" xlink:label="lab_appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment Securities And Fair Value Measurements, Disclosure [Text Block]</link:label>
    <link:label id="lab_appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock_documentation_en-US" xlink:label="lab_appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment Securities And Fair Value Measurements, Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock" xlink:href="appf-20210630.xsd#appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock" xlink:to="lab_appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_PerformanceStockUnitsGrantedin2018Member_6edf770f-67ca-48a5-b81a-34a989399808_terseLabel_en-US" xlink:label="lab_appf_PerformanceStockUnitsGrantedin2018Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PSUs Granted in 2018</link:label>
    <link:label id="lab_appf_PerformanceStockUnitsGrantedin2018Member_label_en-US" xlink:label="lab_appf_PerformanceStockUnitsGrantedin2018Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Stock Units Granted in 2018 [Member]</link:label>
    <link:label id="lab_appf_PerformanceStockUnitsGrantedin2018Member_documentation_en-US" xlink:label="lab_appf_PerformanceStockUnitsGrantedin2018Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Stock Units Granted in 2018 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsGrantedin2018Member" xlink:href="appf-20210630.xsd#appf_PerformanceStockUnitsGrantedin2018Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_PerformanceStockUnitsGrantedin2018Member" xlink:to="lab_appf_PerformanceStockUnitsGrantedin2018Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonClassAMember_ad625b90-39eb-430d-9d79-2bd799509a31_terseLabel_en-US" xlink:label="lab_us-gaap_CommonClassAMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class A common stock</link:label>
    <link:label id="lab_us-gaap_CommonClassAMember_label_en-US" xlink:label="lab_us-gaap_CommonClassAMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Class A [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonClassAMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonClassAMember" xlink:to="lab_us-gaap_CommonClassAMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_791919e6-c9d5-4226-80a7-0baac8f2b941_periodStartLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning of period</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_1b0da955-e6f5-40b4-b943-927aef816ae6_periodEndLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">End of period</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_87ceaea7-c836-4112-a57e-150d208170bd_totalLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total cash, cash equivalents and restricted cash</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_b1a46c2c-6617-412b-9966-feeb7bf53ead_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, par value (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_label_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss_7c55df28-42f1-4d00-b5e3-f5cd008e5725_terseLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Allowance for credit losses for available-for-sale investment securities</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale, Allowance for Credit Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric_b2a70b6a-2111-4770-bd51-d3aa7b07d90a_terseLabel_en-US" xlink:label="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Percent of targeted performance metric</link:label>
    <link:label id="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric_label_en-US" xlink:label="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Percent Of Award Target Performance Metric</link:label>
    <link:label id="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric_documentation_en-US" xlink:label="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Percent Of Award Target Performance Metric</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" xlink:href="appf-20210630.xsd#appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" xlink:to="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_296419a3-03fe-47a7-aa63-4c702e23b5fd_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Comprehensive Income [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Comprehensive Income [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TaxesPayableCurrent_6c5a9c61-7332-4a20-8f32-89aed34757bb_terseLabel_en-US" xlink:label="lab_us-gaap_TaxesPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income tax payable</link:label>
    <link:label id="lab_us-gaap_TaxesPayableCurrent_label_en-US" xlink:label="lab_us-gaap_TaxesPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Taxes Payable, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxesPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TaxesPayableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TaxesPayableCurrent" xlink:to="lab_us-gaap_TaxesPayableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_5be39754-8a4e-4a84-85a8-ae50d32ec64d_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current assets</link:label>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrentAbstract" xlink:to="lab_us-gaap_AssetsCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsGross_5f30365a-05f7-409a-b5bd-2f653612f06d_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross&#160;Carrying Value</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsGross_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeasesAbstract_a0c26241-4c2b-4dc2-85c1-e67548a35e73_terseLabel_en-US" xlink:label="lab_us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases [Abstract]</link:label>
    <link:label id="lab_us-gaap_LeasesAbstract_label_en-US" xlink:label="lab_us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeasesAbstract" xlink:to="lab_us-gaap_LeasesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCentralIndexKey_eadc52d0-9478-46f4-94eb-ecdf37a96fa7_terseLabel_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:label id="lab_dei_EntityCentralIndexKey_label_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityCentralIndexKey"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCentralIndexKey" xlink:to="lab_dei_EntityCentralIndexKey" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_e88a626a-25c1-4447-90f6-8095ce138e29_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareAmortization1_a3b5754b-9b9f-48f0-94ff-4e57e7d7d51b_verboseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareAmortization1" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization expense</link:label>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareAmortization1_label_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareAmortization1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareAmortization1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAmortization1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareAmortization1" xlink:to="lab_us-gaap_CapitalizedComputerSoftwareAmortization1" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_SecurityExchangeName_6976be98-406c-478a-8ab9-15c8ca7ead60_terseLabel_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:label id="lab_dei_SecurityExchangeName_label_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_SecurityExchangeName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_SecurityExchangeName" xlink:to="lab_dei_SecurityExchangeName" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets_9603c50f-b27b-48e5-9bf0-299d383b761c_terseLabel_en-US" xlink:label="lab_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Percent of cash bonus payments on initial targets, percent</link:label>
    <link:label id="lab_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets_label_en-US" xlink:label="lab_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangements By Share-Based Payment Award, Percent Of Cash Bonus Payment On Initial Targets</link:label>
    <link:label id="lab_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets_documentation_en-US" xlink:label="lab_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangements By Share-Based Payment Award, Percent Of Cash Bonus Payment On Initial Targets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets" xlink:href="appf-20210630.xsd#appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets" xlink:to="lab_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_PerformanceStockUnitsGrantedin2019Member_08a851bf-4d0d-41a8-a659-e389d4920c2d_terseLabel_en-US" xlink:label="lab_appf_PerformanceStockUnitsGrantedin2019Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PSUs Granted in 2019</link:label>
    <link:label id="lab_appf_PerformanceStockUnitsGrantedin2019Member_label_en-US" xlink:label="lab_appf_PerformanceStockUnitsGrantedin2019Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Stock Units Granted in 2019 [Member]</link:label>
    <link:label id="lab_appf_PerformanceStockUnitsGrantedin2019Member_documentation_en-US" xlink:label="lab_appf_PerformanceStockUnitsGrantedin2019Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Stock Units Granted in 2019 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsGrantedin2019Member" xlink:href="appf-20210630.xsd#appf_PerformanceStockUnitsGrantedin2019Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_PerformanceStockUnitsGrantedin2019Member" xlink:to="lab_appf_PerformanceStockUnitsGrantedin2019Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsFairValueDisclosure_e0770341-bdcf-43e4-82da-ed6b63449d80_verboseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsFairValueDisclosure_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents, Fair Value Disclosure</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:to="lab_us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisposalGroupClassificationDomain_1b20e93d-f4d9-4dfa-af26-deb885965f57_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupClassificationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group Classification [Domain]</link:label>
    <link:label id="lab_us-gaap_DisposalGroupClassificationDomain_label_en-US" xlink:label="lab_us-gaap_DisposalGroupClassificationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group Classification [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisposalGroupClassificationDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain" xlink:to="lab_us-gaap_DisposalGroupClassificationDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_f9ffb3d8-139e-4f21-8b9f-84770e396d14_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise of stock options (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_c39a7172-f90f-4142-a791-35f60a7e7c06_negatedLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options exercised (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_PerformanceStockUnitsMember_a867a645-dfe7-4b37-9da6-3f471ddc585b_terseLabel_en-US" xlink:label="lab_appf_PerformanceStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PSUs</link:label>
    <link:label id="lab_appf_PerformanceStockUnitsMember_label_en-US" xlink:label="lab_appf_PerformanceStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Stock Units [Member]</link:label>
    <link:label id="lab_appf_PerformanceStockUnitsMember_documentation_en-US" xlink:label="lab_appf_PerformanceStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Stock Units [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsMember" xlink:href="appf-20210630.xsd#appf_PerformanceStockUnitsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_PerformanceStockUnitsMember" xlink:to="lab_appf_PerformanceStockUnitsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_fb8d9e44-1cf2-463f-b7a8-51be11ca10de_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Diluted (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_00ccef72-8203-4b61-9f68-15c9a4d837c6_totalLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average common shares outstanding; diluted (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax_1d292a75-6fcb-44ca-ad7b-d771bc1c8081_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other comprehensive income (loss)</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementsRecurringMember_631dc118-2b30-40c3-8078-c2401b4c2adc_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsRecurringMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair value, recurring measurements</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementsRecurringMember_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsRecurringMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Recurring [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementsRecurringMember" xlink:to="lab_us-gaap_FairValueMeasurementsRecurringMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome_5fa45125-62d9-466a-beb6-e8bf03230223_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income received</link:label>
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome_label_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Other Income</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome" xlink:to="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_e22ae987-61f0-4191-8ff8-8ef952a3cf14_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_50ab3236-cafb-461c-a5fa-8a53a4ff9885_terseLabel_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_label_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CurrentFiscalYearEndDate" xlink:to="lab_dei_CurrentFiscalYearEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_4308fe06-2191-4d0c-8368-53e548c9a53c_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Stock Option Activity</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Option, Activity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_6bed84a6-eb07-49d7-8a1f-c97ea29bff8b_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share Repurchase Program</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Note Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_62faa3a7-6dda-4048-b44d-9a5e4758d7b2_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:to="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment_313f6f7e-fdbe-4e9b-a1d8-67f57f019da9_terseLabel_en-US" xlink:label="lab_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Working capital adjustment</link:label>
    <link:label id="lab_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment_label_en-US" xlink:label="lab_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Working Capital Adjustment</link:label>
    <link:label id="lab_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment_documentation_en-US" xlink:label="lab_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Working Capital Adjustment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment" xlink:href="appf-20210630.xsd#appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment" xlink:to="lab_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_962d601a-e9a4-40b2-a9ac-279c2a96c6d3_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_0a327b17-b60d-4d9f-9b3a-11fb33235827_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash used in investing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent_e7739144-9a45-474a-ac09-9a8f1d89f320_terseLabel_en-US" xlink:label="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance based cash bonus payment percent</link:label>
    <link:label id="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent_label_en-US" xlink:label="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Performance Based Cash Bonus Payment, Percent</link:label>
    <link:label id="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent_documentation_en-US" xlink:label="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Performance Based Cash Bonus Payment, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent" xlink:href="appf-20210630.xsd#appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent" xlink:to="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_d1f67494-1823-486d-8a57-cf5da8e87240_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Changes in operating assets and liabilities:</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Operating Capital [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_4666df35-2b45-4924-88ff-985eec3d3f6a_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash from operating activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_6466a283-f6f1-4340-9953-1dd0aa1c77e4_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_c3826003-298d-4a56-9f2b-2155530a8961_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current liabilities</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrent" xlink:to="lab_us-gaap_LiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_cbd93ad2-29af-4ce3-a0a9-4925ead1b06b_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax withholding for net share settlement</link:label>
    <link:label id="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment, Tax Withholding, Share-based Payment Arrangement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ClassOfStockDomain_5f921b0a-7aeb-42b0-a15b-05c339ba0be8_terseLabel_en-US" xlink:label="lab_us-gaap_ClassOfStockDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Domain]</link:label>
    <link:label id="lab_us-gaap_ClassOfStockDomain_label_en-US" xlink:label="lab_us-gaap_ClassOfStockDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfStockDomain" xlink:to="lab_us-gaap_ClassOfStockDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MoneyMarketFundsMember_dd2b63c8-0bad-4aab-a9cb-ce10228e3105_terseLabel_en-US" xlink:label="lab_us-gaap_MoneyMarketFundsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Money market funds</link:label>
    <link:label id="lab_us-gaap_MoneyMarketFundsMember_label_en-US" xlink:label="lab_us-gaap_MoneyMarketFundsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Money Market Funds [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MoneyMarketFundsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MoneyMarketFundsMember" xlink:to="lab_us-gaap_MoneyMarketFundsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LossContingenciesTable_c34c1f43-d0e4-420e-864e-b87eb7e6469a_terseLabel_en-US" xlink:label="lab_us-gaap_LossContingenciesTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss Contingencies [Table]</link:label>
    <link:label id="lab_us-gaap_LossContingenciesTable_label_en-US" xlink:label="lab_us-gaap_LossContingenciesTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss Contingencies [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingenciesTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LossContingenciesTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LossContingenciesTable" xlink:to="lab_us-gaap_LossContingenciesTable" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressPostalZipCode_b146e091-fcc8-48f1-ae66-5ae94451dc80_terseLabel_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:label id="lab_dei_EntityAddressPostalZipCode_label_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityAddressPostalZipCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressPostalZipCode" xlink:to="lab_dei_EntityAddressPostalZipCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedSalesCommissionCurrent_0b39e927-557e-4765-8abb-ec5e50115130_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedSalesCommissionCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued commissions</link:label>
    <link:label id="lab_us-gaap_AccruedSalesCommissionCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedSalesCommissionCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Sales Commission, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedSalesCommissionCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedSalesCommissionCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedSalesCommissionCurrent" xlink:to="lab_us-gaap_AccruedSalesCommissionCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentInformationLineItems_941d0171-1edd-4b54-ac95-3d6682ba22cd_terseLabel_en-US" xlink:label="lab_dei_DocumentInformationLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Information [Line Items]</link:label>
    <link:label id="lab_dei_DocumentInformationLineItems_label_en-US" xlink:label="lab_dei_DocumentInformationLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Information [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentInformationLineItems" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_DocumentInformationLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentInformationLineItems" xlink:to="lab_dei_DocumentInformationLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_Security12bTitle_a4969073-24f2-4e19-afaf-d3ab1b87a441_terseLabel_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:label id="lab_dei_Security12bTitle_label_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_Security12bTitle"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_Security12bTitle" xlink:to="lab_dei_Security12bTitle" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementTable_e9ae438a-bf4a-4b98-b56a-ed43b7796cdf_terseLabel_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Table]</link:label>
    <link:label id="lab_us-gaap_StatementTable_label_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementTable" xlink:to="lab_us-gaap_StatementTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_8479d1b4-9260-45d1-a67c-6dc7d9e2ec1c_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Recent Accounting Pronouncements Adopted in 2020 and 2021</link:label>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">New Accounting Pronouncements, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_c34b138a-fe98-45c9-b022-c16c60446555_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid Expenses and Other Current Assets</link:label>
    <link:label id="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_label_en-US" xlink:label="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid Expenses and Other Current Assets [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:to="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RangeAxis_69594d9c-cb59-4ce5-b35e-351c470e152e_terseLabel_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:label id="lab_srt_RangeAxis_label_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeAxis" xlink:to="lab_srt_RangeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CoverAbstract_0a3f16ed-ff6f-46cf-ad88-b14bc13bc69e_terseLabel_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cover [Abstract]</link:label>
    <link:label id="lab_dei_CoverAbstract_label_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cover [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_CoverAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CoverAbstract" xlink:to="lab_dei_CoverAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_DatabaseMember_f6a7efac-5ba3-4955-a629-a9bc44f4baad_terseLabel_en-US" xlink:label="lab_appf_DatabaseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Database</link:label>
    <link:label id="lab_appf_DatabaseMember_label_en-US" xlink:label="lab_appf_DatabaseMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Database [Member]</link:label>
    <link:label id="lab_appf_DatabaseMember_documentation_en-US" xlink:label="lab_appf_DatabaseMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Database [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DatabaseMember" xlink:href="appf-20210630.xsd#appf_DatabaseMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_DatabaseMember" xlink:to="lab_appf_DatabaseMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_1bba05d5-b5fe-4b11-aa0c-02fb42516523_totalLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net&#160;Carrying Value</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Goodwill_7e46f316-1a47-490b-b260-77cea3199622_terseLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill</link:label>
    <link:label id="lab_us-gaap_Goodwill_label_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Goodwill" xlink:to="lab_us-gaap_Goodwill" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_a8e5ca7b-c5c1-43d2-953e-da9ecd5bac93_terseLabel_en-US" xlink:label="lab_appf_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Thereafter</link:label>
    <link:label id="lab_appf_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_label_en-US" xlink:label="lab_appf_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, after Year Four</link:label>
    <link:label id="lab_appf_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_documentation_en-US" xlink:label="lab_appf_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, after Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" xlink:href="appf-20210630.xsd#appf_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" xlink:to="lab_appf_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NatureOfOperations_c9f71c7e-ff2b-4433-81e9-dfe8c26331a8_terseLabel_en-US" xlink:label="lab_us-gaap_NatureOfOperations" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Nature of Business</link:label>
    <link:label id="lab_us-gaap_NatureOfOperations_label_en-US" xlink:label="lab_us-gaap_NatureOfOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Nature of Operations [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NatureOfOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NatureOfOperations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NatureOfOperations" xlink:to="lab_us-gaap_NatureOfOperations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_698f1933-f332-4571-8e65-9f300350d633_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to reconcile net income to net cash provided by operating activities:</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_151f6015-3e21-4c2c-9f59-ab631d90593b_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Due in one year or less</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseCost_231dfa84-21b6-4f58-89d9-0122b819db74_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease cost</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseCost_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseCost" xlink:to="lab_us-gaap_OperatingLeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAxis_89a5c496-07d5-4109-9ab2-3dcbdaec2f9f_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents [Axis]</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAxis_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis" xlink:to="lab_us-gaap_CashAndCashEquivalentsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts_be8fe2ed-3bba-48c2-81fb-0fd67d5b9f3f_terseLabel_en-US" xlink:label="lab_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation and amortization</link:label>
    <link:label id="lab_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts_label_en-US" xlink:label="lab_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation, Depletion and Amortization, Excluding Amortization of Financing Costs</link:label>
    <link:label id="lab_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts_documentation_en-US" xlink:label="lab_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation, Depletion and Amortization, Excluding Amortization of Financing Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts" xlink:href="appf-20210630.xsd#appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts" xlink:to="lab_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ExecutiveOfficerMember_63ff9608-5557-4ed7-88b4-03a02cf7b69f_terseLabel_en-US" xlink:label="lab_srt_ExecutiveOfficerMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Executive</link:label>
    <link:label id="lab_srt_ExecutiveOfficerMember_label_en-US" xlink:label="lab_srt_ExecutiveOfficerMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Executive Officer [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ExecutiveOfficerMember" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ExecutiveOfficerMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ExecutiveOfficerMember" xlink:to="lab_srt_ExecutiveOfficerMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_68c883e3-be4a-4c7f-824e-52e1a55de412_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:type="arc" order="1"/>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>10
<FILENAME>appf-20210630_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2021 Workiva-->
<!--r:37da0c4e-e9f4-4889-837f-b75c37440ddd,g:52117fbf-c0b2-4806-85da-e7b4fd96bdf9-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.appfolio.com/role/CoverPage" xlink:type="simple" xlink:href="appf-20210630.xsd#CoverPage"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/CoverPage" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract_188f45d4-1e99-4dcf-b4b2-479ef925dae7" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_CoverAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentInformationTable_6bdc4971-961a-481b-ac16-7823d3a5ab12" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_DocumentInformationTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_188f45d4-1e99-4dcf-b4b2-479ef925dae7" xlink:to="loc_dei_DocumentInformationTable_6bdc4971-961a-481b-ac16-7823d3a5ab12" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_bf6c65f8-8522-4be9-8833-855a15ec7df8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationTable_6bdc4971-961a-481b-ac16-7823d3a5ab12" xlink:to="loc_us-gaap_StatementClassOfStockAxis_bf6c65f8-8522-4be9-8833-855a15ec7df8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_86f436fd-7ce1-4b00-9fe9-f2938f0c8b8c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_bf6c65f8-8522-4be9-8833-855a15ec7df8" xlink:to="loc_us-gaap_ClassOfStockDomain_86f436fd-7ce1-4b00-9fe9-f2938f0c8b8c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_9af0f33f-f3ce-4008-9146-0979eb1cfdd4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonClassAMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_86f436fd-7ce1-4b00-9fe9-f2938f0c8b8c" xlink:to="loc_us-gaap_CommonClassAMember_9af0f33f-f3ce-4008-9146-0979eb1cfdd4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_8ef08e2a-d8cf-4d31-a37b-161455ce800d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonClassBMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_86f436fd-7ce1-4b00-9fe9-f2938f0c8b8c" xlink:to="loc_us-gaap_CommonClassBMember_8ef08e2a-d8cf-4d31-a37b-161455ce800d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_DocumentInformationLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationTable_6bdc4971-961a-481b-ac16-7823d3a5ab12" xlink:to="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType_daa949c4-eef8-48fc-af3a-c47bc06aa400" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_DocumentType"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_DocumentType_daa949c4-eef8-48fc-af3a-c47bc06aa400" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentQuarterlyReport_379a6abd-18cf-438f-aa1c-b1586d749ada" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_DocumentQuarterlyReport"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_DocumentQuarterlyReport_379a6abd-18cf-438f-aa1c-b1586d749ada" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate_e3b809d0-e113-4aa6-aef8-4a3d0c59ab8e" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_DocumentPeriodEndDate"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_DocumentPeriodEndDate_e3b809d0-e113-4aa6-aef8-4a3d0c59ab8e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport_db65e3a1-a9bb-4803-ba50-2e698764b1a4" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_DocumentTransitionReport"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_DocumentTransitionReport_db65e3a1-a9bb-4803-ba50-2e698764b1a4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber_107a681a-955a-4c45-a76c-ef11ceb05e95" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityFileNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityFileNumber_107a681a-955a-4c45-a76c-ef11ceb05e95" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName_9b99c5f5-aa4d-4799-b7b7-579d1a99de48" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityRegistrantName"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityRegistrantName_9b99c5f5-aa4d-4799-b7b7-579d1a99de48" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode_6cabacc4-ac00-4427-8492-947ef7226f42" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityIncorporationStateCountryCode_6cabacc4-ac00-4427-8492-947ef7226f42" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber_a71aca19-8bd2-40d2-9036-1a01f961b4e4" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityTaxIdentificationNumber_a71aca19-8bd2-40d2-9036-1a01f961b4e4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1_e7f00e01-05ec-4903-88e7-c3c176ffe116" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityAddressAddressLine1"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityAddressAddressLine1_e7f00e01-05ec-4903-88e7-c3c176ffe116" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown_4fe1fe11-26ff-4c53-ab8a-a994686d46c3" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityAddressCityOrTown"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityAddressCityOrTown_4fe1fe11-26ff-4c53-ab8a-a994686d46c3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince_019bbbe1-c11f-4cf3-bfa4-c4c1507ffb2f" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityAddressStateOrProvince"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityAddressStateOrProvince_019bbbe1-c11f-4cf3-bfa4-c4c1507ffb2f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode_e8e42716-b82e-473e-951a-b72c6da36a76" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityAddressPostalZipCode"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityAddressPostalZipCode_e8e42716-b82e-473e-951a-b72c6da36a76" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode_7e49c24d-bd2c-41bc-9d03-1253a060571d" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_CityAreaCode"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_CityAreaCode_7e49c24d-bd2c-41bc-9d03-1253a060571d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber_eeeb78e7-c1e1-470e-9c5c-727db6cf96b8" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_LocalPhoneNumber"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_LocalPhoneNumber_eeeb78e7-c1e1-470e-9c5c-727db6cf96b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle_723a210e-3b5a-4c9b-9165-9eb40519f925" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_Security12bTitle"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_Security12bTitle_723a210e-3b5a-4c9b-9165-9eb40519f925" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol_2bde543f-ec06-4f49-9e6b-b12046e91dee" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_TradingSymbol"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_TradingSymbol_2bde543f-ec06-4f49-9e6b-b12046e91dee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName_c0d50af0-0d05-4006-ba80-a8e0028320d4" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_SecurityExchangeName"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_SecurityExchangeName_c0d50af0-0d05-4006-ba80-a8e0028320d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus_45d52fef-494a-4f56-ab50-45077588694e" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityCurrentReportingStatus"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityCurrentReportingStatus_45d52fef-494a-4f56-ab50-45077588694e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent_835a208c-b644-492f-8a0a-7722ef831751" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityInteractiveDataCurrent_835a208c-b644-492f-8a0a-7722ef831751" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory_04133931-ad09-4721-b1f8-7fea49ff0f6f" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityFilerCategory"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityFilerCategory_04133931-ad09-4721-b1f8-7fea49ff0f6f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness_80c182da-730f-4938-a485-ccce6dc47c22" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntitySmallBusiness"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntitySmallBusiness_80c182da-730f-4938-a485-ccce6dc47c22" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany_349134f4-eaaa-4275-a962-80439ca0afab" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityEmergingGrowthCompany_349134f4-eaaa-4275-a962-80439ca0afab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany_76d79c6e-97c7-4e2a-b0bf-c15c693d2642" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityShellCompany"/>
    <link:presentationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityShellCompany_76d79c6e-97c7-4e2a-b0bf-c15c693d2642" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_c0462f25-6661-402a-bbcb-60e0cf2cf8c4" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:presentationArc order="24" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityCommonStockSharesOutstanding_c0462f25-6661-402a-bbcb-60e0cf2cf8c4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey_d10c732c-22ff-49e3-a2a4-6959ed815fac" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_EntityCentralIndexKey"/>
    <link:presentationArc order="25" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_EntityCentralIndexKey_d10c732c-22ff-49e3-a2a4-6959ed815fac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate_0d8fa774-e340-4d7c-a634-1500576f48d4" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:presentationArc order="26" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_CurrentFiscalYearEndDate_0d8fa774-e340-4d7c-a634-1500576f48d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus_cb0405b5-4b2e-4270-b568-8aa5953ab6c1" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_DocumentFiscalYearFocus"/>
    <link:presentationArc order="27" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_DocumentFiscalYearFocus_cb0405b5-4b2e-4270-b568-8aa5953ab6c1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus_e288e005-47f0-4e0f-a250-ad68915ac9c1" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:presentationArc order="28" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_DocumentFiscalPeriodFocus_e288e005-47f0-4e0f-a250-ad68915ac9c1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag_64aeeb6e-e6ce-4790-b43b-c803e50f4790" xlink:href="https://xbrl.sec.gov/dei/2021/dei-2021.xsd#dei_AmendmentFlag"/>
    <link:presentationArc order="29" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_75426f07-d5d9-45a2-8cbd-0b8ac27cb8b6" xlink:to="loc_dei_AmendmentFlag_64aeeb6e-e6ce-4790-b43b-c803e50f4790" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited" xlink:type="simple" xlink:href="appf-20210630.xsd#CondensedConsolidatedBalanceSheetsUnaudited"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_96eced6d-f926-41e1-a195-fa3fe3000622" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_2f3c8a36-f159-41cd-ad39-be7884d8f5c5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_96eced6d-f926-41e1-a195-fa3fe3000622" xlink:to="loc_us-gaap_StatementTable_2f3c8a36-f159-41cd-ad39-be7884d8f5c5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_46289afd-0829-4d0f-b0b7-c17d0fb89e05" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_2f3c8a36-f159-41cd-ad39-be7884d8f5c5" xlink:to="loc_us-gaap_StatementClassOfStockAxis_46289afd-0829-4d0f-b0b7-c17d0fb89e05" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_6e8eb27a-15d3-4ef8-a3de-7069be0d0014" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_46289afd-0829-4d0f-b0b7-c17d0fb89e05" xlink:to="loc_us-gaap_ClassOfStockDomain_6e8eb27a-15d3-4ef8-a3de-7069be0d0014" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_e8c8e4bd-0766-45c1-9dcd-37153689887e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonClassAMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_6e8eb27a-15d3-4ef8-a3de-7069be0d0014" xlink:to="loc_us-gaap_CommonClassAMember_e8c8e4bd-0766-45c1-9dcd-37153689887e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_07eb8e53-de71-4447-b7b3-9a2a60317a29" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonClassBMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_6e8eb27a-15d3-4ef8-a3de-7069be0d0014" xlink:to="loc_us-gaap_CommonClassBMember_07eb8e53-de71-4447-b7b3-9a2a60317a29" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_6041771d-5c84-49a2-9b42-3325a7fab921" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_2f3c8a36-f159-41cd-ad39-be7884d8f5c5" xlink:to="loc_us-gaap_StatementLineItems_6041771d-5c84-49a2-9b42-3325a7fab921" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract_62bb400c-6e88-4615-9708-c3d2c2af82f3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_6041771d-5c84-49a2-9b42-3325a7fab921" xlink:to="loc_us-gaap_AssetsAbstract_62bb400c-6e88-4615-9708-c3d2c2af82f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract_18f0066f-b6ac-46bf-868b-3869e3d3fca2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_62bb400c-6e88-4615-9708-c3d2c2af82f3" xlink:to="loc_us-gaap_AssetsCurrentAbstract_18f0066f-b6ac-46bf-868b-3869e3d3fca2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_07f7d63c-f204-49fc-81cf-4c3ebb5d9b0b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_18f0066f-b6ac-46bf-868b-3869e3d3fca2" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_07f7d63c-f204-49fc-81cf-4c3ebb5d9b0b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_15cbb8e9-2765-4b2e-b195-50b37a8e1aca" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_18f0066f-b6ac-46bf-868b-3869e3d3fca2" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_15cbb8e9-2765-4b2e-b195-50b37a8e1aca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_75465dcf-059b-4454-86fd-37a2baa35aa2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_18f0066f-b6ac-46bf-868b-3869e3d3fca2" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_75465dcf-059b-4454-86fd-37a2baa35aa2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_1c38e0f7-9f84-4dee-adb3-5a4732c0036b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_18f0066f-b6ac-46bf-868b-3869e3d3fca2" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_1c38e0f7-9f84-4dee-adb3-5a4732c0036b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_2bd20a53-9b4b-46e1-bb3d-5f22ef3fb028" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_18f0066f-b6ac-46bf-868b-3869e3d3fca2" xlink:to="loc_us-gaap_AssetsCurrent_2bd20a53-9b4b-46e1-bb3d-5f22ef3fb028" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_b5a61b53-6a5a-4284-93c2-ff25b1ae0966" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_62bb400c-6e88-4615-9708-c3d2c2af82f3" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_b5a61b53-6a5a-4284-93c2-ff25b1ae0966" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_7c94ff66-7a61-4530-bd05-b073a1c49a5b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_62bb400c-6e88-4615-9708-c3d2c2af82f3" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_7c94ff66-7a61-4530-bd05-b073a1c49a5b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_4f2e49e4-81b1-4a38-b411-12ec38d6eb4c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_62bb400c-6e88-4615-9708-c3d2c2af82f3" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_4f2e49e4-81b1-4a38-b411-12ec38d6eb4c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareNet_42df90de-fb87-4798-ad4d-337c06f9c870" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareNet"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_62bb400c-6e88-4615-9708-c3d2c2af82f3" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareNet_42df90de-fb87-4798-ad4d-337c06f9c870" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_542e5083-391f-4b49-ac29-e44071f2a164" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_62bb400c-6e88-4615-9708-c3d2c2af82f3" xlink:to="loc_us-gaap_Goodwill_542e5083-391f-4b49-ac29-e44071f2a164" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_7f8d2cad-36b8-46b7-8c5a-8564ecda15c8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_62bb400c-6e88-4615-9708-c3d2c2af82f3" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_7f8d2cad-36b8-46b7-8c5a-8564ecda15c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet_0023709e-665f-4a0c-afb4-a892d85c5cf2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_62bb400c-6e88-4615-9708-c3d2c2af82f3" xlink:to="loc_us-gaap_DeferredIncomeTaxAssetsNet_0023709e-665f-4a0c-afb4-a892d85c5cf2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_e9b79962-e4e5-4e58-899d-6e3786f0cc81" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_62bb400c-6e88-4615-9708-c3d2c2af82f3" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_e9b79962-e4e5-4e58-899d-6e3786f0cc81" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_ba1380b7-ab60-4e51-966a-cd0ae38fcf84" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Assets"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_62bb400c-6e88-4615-9708-c3d2c2af82f3" xlink:to="loc_us-gaap_Assets_ba1380b7-ab60-4e51-966a-cd0ae38fcf84" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_21d95aef-0144-4bda-9fcf-2935794e0d92" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_6041771d-5c84-49a2-9b42-3325a7fab921" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_21d95aef-0144-4bda-9fcf-2935794e0d92" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_e916153e-f2c5-4f75-93c8-42d968e4bf12" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_21d95aef-0144-4bda-9fcf-2935794e0d92" xlink:to="loc_us-gaap_LiabilitiesCurrentAbstract_e916153e-f2c5-4f75-93c8-42d968e4bf12" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_06e533d0-5d88-442f-bf25-23468ab547c4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_e916153e-f2c5-4f75-93c8-42d968e4bf12" xlink:to="loc_us-gaap_AccountsPayableCurrent_06e533d0-5d88-442f-bf25-23468ab547c4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_6dc7aae8-aa06-4502-97c6-37398b9a34f6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_e916153e-f2c5-4f75-93c8-42d968e4bf12" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_6dc7aae8-aa06-4502-97c6-37398b9a34f6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_35b608ad-d172-4a6d-b867-2907721fed36" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_e916153e-f2c5-4f75-93c8-42d968e4bf12" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_35b608ad-d172-4a6d-b867-2907721fed36" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_446d670c-455a-48a3-b1a4-23498924a743" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_e916153e-f2c5-4f75-93c8-42d968e4bf12" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_446d670c-455a-48a3-b1a4-23498924a743" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxesPayableCurrent_1b85a4c7-18a4-452e-be7d-9a9dc626d8cd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TaxesPayableCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_e916153e-f2c5-4f75-93c8-42d968e4bf12" xlink:to="loc_us-gaap_TaxesPayableCurrent_1b85a4c7-18a4-452e-be7d-9a9dc626d8cd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesCurrent_88f7d85f-95d9-42a3-b5d7-e90b64265f97" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherLiabilitiesCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_e916153e-f2c5-4f75-93c8-42d968e4bf12" xlink:to="loc_us-gaap_OtherLiabilitiesCurrent_88f7d85f-95d9-42a3-b5d7-e90b64265f97" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_6e1f748f-c2a5-4173-ba7e-219d3b643077" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_e916153e-f2c5-4f75-93c8-42d968e4bf12" xlink:to="loc_us-gaap_LiabilitiesCurrent_6e1f748f-c2a5-4173-ba7e-219d3b643077" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent_e0f699ec-6453-400b-8ba7-b0411baf4b86" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_21d95aef-0144-4bda-9fcf-2935794e0d92" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent_e0f699ec-6453-400b-8ba7-b0411baf4b86" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_0464281e-fa40-43ce-b394-f28648ffa9bf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_21d95aef-0144-4bda-9fcf-2935794e0d92" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_0464281e-fa40-43ce-b394-f28648ffa9bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_df982cfe-3262-4a23-a195-055d87707ed6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_21d95aef-0144-4bda-9fcf-2935794e0d92" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_df982cfe-3262-4a23-a195-055d87707ed6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_5e39f500-1322-4e6d-88f1-db1687ca15c9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Liabilities"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_21d95aef-0144-4bda-9fcf-2935794e0d92" xlink:to="loc_us-gaap_Liabilities_5e39f500-1322-4e6d-88f1-db1687ca15c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingencies_0355ba32-73c6-4d9f-bc49-6a642dbc8f2e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingencies"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_21d95aef-0144-4bda-9fcf-2935794e0d92" xlink:to="loc_us-gaap_CommitmentsAndContingencies_0355ba32-73c6-4d9f-bc49-6a642dbc8f2e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract_58771acf-82b8-42ff-8487-6aa35cce0a97" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_21d95aef-0144-4bda-9fcf-2935794e0d92" xlink:to="loc_us-gaap_StockholdersEquityAbstract_58771acf-82b8-42ff-8487-6aa35cce0a97" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue_b9c21a6c-5889-4c13-b0de-db05c67ea2ef" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_58771acf-82b8-42ff-8487-6aa35cce0a97" xlink:to="loc_us-gaap_PreferredStockValue_b9c21a6c-5889-4c13-b0de-db05c67ea2ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_699ac277-34e0-4271-9eeb-1027bde1c790" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_58771acf-82b8-42ff-8487-6aa35cce0a97" xlink:to="loc_us-gaap_CommonStockValue_699ac277-34e0-4271-9eeb-1027bde1c790" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital_313fab9f-fd45-408b-aea5-4ebbdeb9dbd7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapital"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_58771acf-82b8-42ff-8487-6aa35cce0a97" xlink:to="loc_us-gaap_AdditionalPaidInCapital_313fab9f-fd45-408b-aea5-4ebbdeb9dbd7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_27b426f8-9067-456e-b933-bbd770f1cfcd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_58771acf-82b8-42ff-8487-6aa35cce0a97" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_27b426f8-9067-456e-b933-bbd770f1cfcd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValue_2490d4d1-392a-404f-b927-8e8d0eed854b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockValue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_58771acf-82b8-42ff-8487-6aa35cce0a97" xlink:to="loc_us-gaap_TreasuryStockValue_2490d4d1-392a-404f-b927-8e8d0eed854b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_3d7ecda5-4414-438b-b490-82bc8d0cc95e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_58771acf-82b8-42ff-8487-6aa35cce0a97" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_3d7ecda5-4414-438b-b490-82bc8d0cc95e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_58be7cab-8681-40a3-89ff-292d964fca4c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_58771acf-82b8-42ff-8487-6aa35cce0a97" xlink:to="loc_us-gaap_StockholdersEquity_58be7cab-8681-40a3-89ff-292d964fca4c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_59c0aac5-c3ba-4d97-9fce-034ccd3bbf93" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_21d95aef-0144-4bda-9fcf-2935794e0d92" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquity_59c0aac5-c3ba-4d97-9fce-034ccd3bbf93" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="appf-20210630.xsd#CondensedConsolidatedBalanceSheetsParenthetical"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsParenthetical" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_0baf63a5-1699-46c4-a351-a8918cd6a061" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_432e8a4c-c46e-4b28-ad05-b63f3315a6ab" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_0baf63a5-1699-46c4-a351-a8918cd6a061" xlink:to="loc_us-gaap_StatementTable_432e8a4c-c46e-4b28-ad05-b63f3315a6ab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_89035505-e48f-4c1f-844a-1f3e47d99668" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_432e8a4c-c46e-4b28-ad05-b63f3315a6ab" xlink:to="loc_us-gaap_StatementClassOfStockAxis_89035505-e48f-4c1f-844a-1f3e47d99668" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_5aa81363-de0a-43f6-98a0-532d134a1da4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_89035505-e48f-4c1f-844a-1f3e47d99668" xlink:to="loc_us-gaap_ClassOfStockDomain_5aa81363-de0a-43f6-98a0-532d134a1da4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_efae43da-8986-4b01-bc68-4cac1ba5c21f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonClassAMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_5aa81363-de0a-43f6-98a0-532d134a1da4" xlink:to="loc_us-gaap_CommonClassAMember_efae43da-8986-4b01-bc68-4cac1ba5c21f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_9ed1543e-0c06-4e47-a0c1-049761e4eeb1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonClassBMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_5aa81363-de0a-43f6-98a0-532d134a1da4" xlink:to="loc_us-gaap_CommonClassBMember_9ed1543e-0c06-4e47-a0c1-049761e4eeb1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_e9faf481-d41d-445e-9256-89e7d2071777" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_432e8a4c-c46e-4b28-ad05-b63f3315a6ab" xlink:to="loc_us-gaap_StatementLineItems_e9faf481-d41d-445e-9256-89e7d2071777" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare_cfd6713e-0c66-4b2c-8b42-f42123ca802e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_e9faf481-d41d-445e-9256-89e7d2071777" xlink:to="loc_us-gaap_PreferredStockParOrStatedValuePerShare_cfd6713e-0c66-4b2c-8b42-f42123ca802e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_66551f9b-1f82-475c-8f61-2b692dd99f3e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_e9faf481-d41d-445e-9256-89e7d2071777" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_66551f9b-1f82-475c-8f61-2b692dd99f3e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding_b7aab572-8275-42cc-8c99-6b3f8749b5a5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_e9faf481-d41d-445e-9256-89e7d2071777" xlink:to="loc_us-gaap_PreferredStockSharesOutstanding_b7aab572-8275-42cc-8c99-6b3f8749b5a5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesIssued_216de698-e5cb-4a5a-b88c-eb4ee2bd36d9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesIssued"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_e9faf481-d41d-445e-9256-89e7d2071777" xlink:to="loc_us-gaap_PreferredStockSharesIssued_216de698-e5cb-4a5a-b88c-eb4ee2bd36d9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_0501c48f-c812-40e7-b11a-f044018c6dd7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_e9faf481-d41d-445e-9256-89e7d2071777" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_0501c48f-c812-40e7-b11a-f044018c6dd7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_e60f9806-a61b-4e59-a854-c2dca537def4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_e9faf481-d41d-445e-9256-89e7d2071777" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_e60f9806-a61b-4e59-a854-c2dca537def4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_937198af-a1e8-4cd3-b4b9-2e142f5371b3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_e9faf481-d41d-445e-9256-89e7d2071777" xlink:to="loc_us-gaap_CommonStockSharesIssued_937198af-a1e8-4cd3-b4b9-2e142f5371b3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_27056841-e5a7-4348-a7c9-64ec4e113853" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_e9faf481-d41d-445e-9256-89e7d2071777" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_27056841-e5a7-4348-a7c9-64ec4e113853" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockShares_572cae29-1b9a-435b-96f3-d93eb2182d15" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockShares"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_e9faf481-d41d-445e-9256-89e7d2071777" xlink:to="loc_us-gaap_TreasuryStockShares_572cae29-1b9a-435b-96f3-d93eb2182d15" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" xlink:type="simple" xlink:href="appf-20210630.xsd#CondensedConsolidatedStatementsofOperationsUnaudited"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract_2cb600b2-7d7a-4c8b-9784-4aba833beedc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_ee6b9d26-ee25-43fc-b5f9-10b5fb7bc255" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_2cb600b2-7d7a-4c8b-9784-4aba833beedc" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_ee6b9d26-ee25-43fc-b5f9-10b5fb7bc255" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostsAndExpensesAbstract_f642f5f4-4e20-4175-8f67-e1639b76131a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostsAndExpensesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_2cb600b2-7d7a-4c8b-9784-4aba833beedc" xlink:to="loc_us-gaap_CostsAndExpensesAbstract_f642f5f4-4e20-4175-8f67-e1639b76131a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_8e663c3e-ce98-4074-a43c-528f0838e924" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CostsAndExpensesAbstract_f642f5f4-4e20-4175-8f67-e1639b76131a" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_8e663c3e-ce98-4074-a43c-528f0838e924" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpense_baaef0c0-4c96-4210-9e65-2bc8cea963aa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingAndMarketingExpense"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CostsAndExpensesAbstract_f642f5f4-4e20-4175-8f67-e1639b76131a" xlink:to="loc_us-gaap_SellingAndMarketingExpense_baaef0c0-4c96-4210-9e65-2bc8cea963aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_a497d98c-ee5c-4823-b891-cf1eced93d14" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CostsAndExpensesAbstract_f642f5f4-4e20-4175-8f67-e1639b76131a" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_a497d98c-ee5c-4823-b891-cf1eced93d14" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense_aae7c25e-0d2b-4a45-84c8-ce66881a0fe9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CostsAndExpensesAbstract_f642f5f4-4e20-4175-8f67-e1639b76131a" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpense_aae7c25e-0d2b-4a45-84c8-ce66881a0fe9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization_74c322df-cbd5-4e79-8138-88972b3d6095" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CostsAndExpensesAbstract_f642f5f4-4e20-4175-8f67-e1639b76131a" xlink:to="loc_us-gaap_DepreciationDepletionAndAmortization_74c322df-cbd5-4e79-8138-88972b3d6095" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostsAndExpenses_f8553a8b-139f-43ef-8962-427e3662e000" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostsAndExpenses"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CostsAndExpensesAbstract_f642f5f4-4e20-4175-8f67-e1639b76131a" xlink:to="loc_us-gaap_CostsAndExpenses_f8553a8b-139f-43ef-8962-427e3662e000" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_d7b4dbda-1f88-4c73-bdb8-c6a6bac8ea24" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_2cb600b2-7d7a-4c8b-9784-4aba833beedc" xlink:to="loc_us-gaap_OperatingIncomeLoss_d7b4dbda-1f88-4c73-bdb8-c6a6bac8ea24" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_a9c82958-cd71-47b3-a1a1-076d415c76a7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_2cb600b2-7d7a-4c8b-9784-4aba833beedc" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_a9c82958-cd71-47b3-a1a1-076d415c76a7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNet_278f4c42-2396-4e60-8f59-43ae3d792cca" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestIncomeExpenseNet"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_2cb600b2-7d7a-4c8b-9784-4aba833beedc" xlink:to="loc_us-gaap_InterestIncomeExpenseNet_278f4c42-2396-4e60-8f59-43ae3d792cca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_1599e970-ecb8-48fa-ae7a-a48241918920" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_2cb600b2-7d7a-4c8b-9784-4aba833beedc" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_1599e970-ecb8-48fa-ae7a-a48241918920" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_950c3931-8b14-49ae-bfdb-7f5213df94f1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_2cb600b2-7d7a-4c8b-9784-4aba833beedc" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_950c3931-8b14-49ae-bfdb-7f5213df94f1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_6f68a600-1edf-42bf-b506-6593e52a7720" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_2cb600b2-7d7a-4c8b-9784-4aba833beedc" xlink:to="loc_us-gaap_NetIncomeLoss_6f68a600-1edf-42bf-b506-6593e52a7720" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_466ef7ed-58ca-46b7-9590-102a08d77eaa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_2cb600b2-7d7a-4c8b-9784-4aba833beedc" xlink:to="loc_us-gaap_EarningsPerShareAbstract_466ef7ed-58ca-46b7-9590-102a08d77eaa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_71bbe09b-74c8-4d28-b946-689bd6fb01f9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_466ef7ed-58ca-46b7-9590-102a08d77eaa" xlink:to="loc_us-gaap_EarningsPerShareBasic_71bbe09b-74c8-4d28-b946-689bd6fb01f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_50927f4e-d353-44df-94d7-d63ad37e2cff" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_466ef7ed-58ca-46b7-9590-102a08d77eaa" xlink:to="loc_us-gaap_EarningsPerShareDiluted_50927f4e-d353-44df-94d7-d63ad37e2cff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_98d6b451-b98f-4485-a2f0-5d595ee4fe9f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_2cb600b2-7d7a-4c8b-9784-4aba833beedc" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_98d6b451-b98f-4485-a2f0-5d595ee4fe9f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_a0712d3e-51e8-4384-bcc4-1b6611a5151e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_98d6b451-b98f-4485-a2f0-5d595ee4fe9f" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_a0712d3e-51e8-4384-bcc4-1b6611a5151e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_d849f8dc-eb91-4c7e-bd1c-78c5dd1f11c5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_98d6b451-b98f-4485-a2f0-5d595ee4fe9f" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_d849f8dc-eb91-4c7e-bd1c-78c5dd1f11c5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited" xlink:type="simple" xlink:href="appf-20210630.xsd#CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_b0216038-134e-4024-a02f-97a0f2bf11bd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_20d42249-036f-44fb-8b77-5c47b923cdd3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_b0216038-134e-4024-a02f-97a0f2bf11bd" xlink:to="loc_us-gaap_NetIncomeLoss_20d42249-036f-44fb-8b77-5c47b923cdd3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_d73ac687-600a-4b0c-a07d-166c53351934" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_b0216038-134e-4024-a02f-97a0f2bf11bd" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_d73ac687-600a-4b0c-a07d-166c53351934" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_474d5fd9-39bf-4950-8291-8325a1ded358" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_d73ac687-600a-4b0c-a07d-166c53351934" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_474d5fd9-39bf-4950-8291-8325a1ded358" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_3c8007fc-ddc3-4c34-acb2-c495818b5e42" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_b0216038-134e-4024-a02f-97a0f2bf11bd" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTax_3c8007fc-ddc3-4c34-acb2-c495818b5e42" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" xlink:type="simple" xlink:href="appf-20210630.xsd#CondensedConsolidatedStatementsofStockholdersEquityUnaudited"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_2a82c7d9-8cc3-48e2-9e87-2b4b375b845c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_a9264ac9-d14b-40c9-8f24-5151bf8632b6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_2a82c7d9-8cc3-48e2-9e87-2b4b375b845c" xlink:to="loc_us-gaap_StatementTable_a9264ac9-d14b-40c9-8f24-5151bf8632b6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_cfe3b606-e377-4492-a170-eaaad600d297" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_a9264ac9-d14b-40c9-8f24-5151bf8632b6" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_cfe3b606-e377-4492-a170-eaaad600d297" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_1ab1a0b5-fb10-4d07-94e8-dc736d9965f2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_cfe3b606-e377-4492-a170-eaaad600d297" xlink:to="loc_us-gaap_EquityComponentDomain_1ab1a0b5-fb10-4d07-94e8-dc736d9965f2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_e9ad21a8-409c-46dd-aedf-91ad17ae210e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_1ab1a0b5-fb10-4d07-94e8-dc736d9965f2" xlink:to="loc_us-gaap_CommonStockMember_e9ad21a8-409c-46dd-aedf-91ad17ae210e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_4ca7a781-dd69-4509-bfee-7a22e885f492" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_1ab1a0b5-fb10-4d07-94e8-dc736d9965f2" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_4ca7a781-dd69-4509-bfee-7a22e885f492" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_aedc65ba-c7a0-4f1b-96ef-1268e74e8977" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_1ab1a0b5-fb10-4d07-94e8-dc736d9965f2" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_aedc65ba-c7a0-4f1b-96ef-1268e74e8977" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockMember_993946f4-c289-4031-9dc7-c9bc38b1f380" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_1ab1a0b5-fb10-4d07-94e8-dc736d9965f2" xlink:to="loc_us-gaap_TreasuryStockMember_993946f4-c289-4031-9dc7-c9bc38b1f380" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_86817843-1179-4832-b6ea-eb10ff712154" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_1ab1a0b5-fb10-4d07-94e8-dc736d9965f2" xlink:to="loc_us-gaap_RetainedEarningsMember_86817843-1179-4832-b6ea-eb10ff712154" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_8ef20c85-050d-4044-ae2c-d23d4bae9231" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_a9264ac9-d14b-40c9-8f24-5151bf8632b6" xlink:to="loc_us-gaap_StatementClassOfStockAxis_8ef20c85-050d-4044-ae2c-d23d4bae9231" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_1a55e967-179a-48d9-8265-b3f63560efae" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_8ef20c85-050d-4044-ae2c-d23d4bae9231" xlink:to="loc_us-gaap_ClassOfStockDomain_1a55e967-179a-48d9-8265-b3f63560efae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_62bbb12a-dae3-477c-9db8-a543e9a0522a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonClassAMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_1a55e967-179a-48d9-8265-b3f63560efae" xlink:to="loc_us-gaap_CommonClassAMember_62bbb12a-dae3-477c-9db8-a543e9a0522a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_b84164ed-24f7-4244-89be-0634ec77aca5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonClassBMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_1a55e967-179a-48d9-8265-b3f63560efae" xlink:to="loc_us-gaap_CommonClassBMember_b84164ed-24f7-4244-89be-0634ec77aca5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_8edf02ae-bd94-4c82-9dfc-cb60f1b7a65a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_a9264ac9-d14b-40c9-8f24-5151bf8632b6" xlink:to="loc_us-gaap_StatementLineItems_8edf02ae-bd94-4c82-9dfc-cb60f1b7a65a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_8edf02ae-bd94-4c82-9dfc-cb60f1b7a65a" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesOutstanding_16ee1d0b-3849-45b9-95b7-387a2d4c4a17" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharesOutstanding"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_us-gaap_SharesOutstanding_16ee1d0b-3849-45b9-95b7-387a2d4c4a17" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_6ce1cc25-9732-4459-b61b-54fba6d60fd1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_us-gaap_StockholdersEquity_6ce1cc25-9732-4459-b61b-54fba6d60fd1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_b60b8708-52d9-43db-b948-f72ff86d0291" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_b60b8708-52d9-43db-b948-f72ff86d0291" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_b927ac96-550b-4f18-88d8-151e31bd1c95" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_b927ac96-550b-4f18-88d8-151e31bd1c95" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_a4912836-7749-4c39-82c8-209f0ddb4d23" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_a4912836-7749-4c39-82c8-209f0ddb4d23" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings_a965853b-95a1-4999-8774-0aeaf2f176fd" xlink:href="appf-20210630.xsd#appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings_a965853b-95a1-4999-8774-0aeaf2f176fd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings_7df91433-65b7-4033-85fc-a11826a9e0e8" xlink:href="appf-20210630.xsd#appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings_7df91433-65b7-4033-85fc-a11826a9e0e8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConversionOfStockSharesConverted1_7c736617-c6f2-4eea-acf7-e0988cce8f32" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConversionOfStockSharesConverted1"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_us-gaap_ConversionOfStockSharesConverted1_7c736617-c6f2-4eea-acf7-e0988cce8f32" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_5184c271-a217-45b8-9422-7741ace793bf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_5184c271-a217-45b8-9422-7741ace793bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_68c3d2ed-502e-470b-8e72-f60db7ebe7dd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_68c3d2ed-502e-470b-8e72-f60db7ebe7dd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockSharesAcquired_b39c502f-29a8-430a-9eac-5455f25e3945" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockSharesAcquired"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_us-gaap_TreasuryStockSharesAcquired_b39c502f-29a8-430a-9eac-5455f25e3945" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValueAcquiredCostMethod_5df02b23-1cfc-470c-815d-1c1e1f053895" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_us-gaap_TreasuryStockValueAcquiredCostMethod_5df02b23-1cfc-470c-815d-1c1e1f053895" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_d189d28c-5b87-44ff-8598-d3bffa6c0447" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_us-gaap_NetIncomeLoss_d189d28c-5b87-44ff-8598-d3bffa6c0447" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesOutstanding_3cb9e9cc-e186-4a23-8b87-e2fd096c7281" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharesOutstanding"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_us-gaap_SharesOutstanding_3cb9e9cc-e186-4a23-8b87-e2fd096c7281" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_a14bfc97-bf81-400a-953a-6acc27dbc3f6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_678d929b-d269-4f08-b96b-d1892034d219" xlink:to="loc_us-gaap_StockholdersEquity_a14bfc97-bf81-400a-953a-6acc27dbc3f6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" xlink:type="simple" xlink:href="appf-20210630.xsd#CondensedConsolidatedStatementsofCashFlowsUnaudited"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_4f938a38-c6be-4e80-a500-741ba3b467a2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_91cd9944-b6c2-4e7f-a0f0-93d7e06060b2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_4f938a38-c6be-4e80-a500-741ba3b467a2" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_91cd9944-b6c2-4e7f-a0f0-93d7e06060b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_0364fcaf-697d-4908-a2a0-f3f7a14f96f1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_91cd9944-b6c2-4e7f-a0f0-93d7e06060b2" xlink:to="loc_us-gaap_NetIncomeLoss_0364fcaf-697d-4908-a2a0-f3f7a14f96f1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_29a2cd7c-37e5-42ee-b678-712d672c2d64" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_91cd9944-b6c2-4e7f-a0f0-93d7e06060b2" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_29a2cd7c-37e5-42ee-b678-712d672c2d64" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts_7397e1ac-4751-47f4-8dc1-bc9d03741083" xlink:href="appf-20210630.xsd#appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_29a2cd7c-37e5-42ee-b678-712d672c2d64" xlink:to="loc_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts_7397e1ac-4751-47f4-8dc1-bc9d03741083" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_AmortizationOfOperatingLeaseRightOfUseAssets_0283164c-39c0-45f7-856c-e9c08cfa6b3e" xlink:href="appf-20210630.xsd#appf_AmortizationOfOperatingLeaseRightOfUseAssets"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_29a2cd7c-37e5-42ee-b678-712d672c2d64" xlink:to="loc_appf_AmortizationOfOperatingLeaseRightOfUseAssets_0283164c-39c0-45f7-856c-e9c08cfa6b3e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxesAndTaxCredits_6e745440-b1d9-4676-90a6-e4e160153a17" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_29a2cd7c-37e5-42ee-b678-712d672c2d64" xlink:to="loc_us-gaap_DeferredIncomeTaxesAndTaxCredits_6e745440-b1d9-4676-90a6-e4e160153a17" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_c01eefa1-5bf7-437e-831c-81347872a2c2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensation"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_29a2cd7c-37e5-42ee-b678-712d672c2d64" xlink:to="loc_us-gaap_ShareBasedCompensation_c01eefa1-5bf7-437e-831c-81347872a2c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNoncashIncomeExpense_a7c9a321-3731-4718-bd96-b36b854eccec" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNoncashIncomeExpense"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_29a2cd7c-37e5-42ee-b678-712d672c2d64" xlink:to="loc_us-gaap_OtherNoncashIncomeExpense_a7c9a321-3731-4718-bd96-b36b854eccec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_4578aecc-f7fc-492a-94dc-d2e55341eee3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_29a2cd7c-37e5-42ee-b678-712d672c2d64" xlink:to="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_4578aecc-f7fc-492a-94dc-d2e55341eee3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_7bab247c-54e7-4ae4-941a-0eea1bb1d342" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_4578aecc-f7fc-492a-94dc-d2e55341eee3" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_7bab247c-54e7-4ae4-941a-0eea1bb1d342" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_42e02039-3a5a-4807-bb4e-35806f11a4ba" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_4578aecc-f7fc-492a-94dc-d2e55341eee3" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_42e02039-3a5a-4807-bb4e-35806f11a4ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_2689f2d6-b018-4cb3-b56e-36befb4da30b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_4578aecc-f7fc-492a-94dc-d2e55341eee3" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_2689f2d6-b018-4cb3-b56e-36befb4da30b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_ab627c1b-36b2-49e4-b8a9-ba64c62281dc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_4578aecc-f7fc-492a-94dc-d2e55341eee3" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_ab627c1b-36b2-49e4-b8a9-ba64c62281dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_0b7cd2d3-342d-45d6-a59f-8e72fd6e93c9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_4578aecc-f7fc-492a-94dc-d2e55341eee3" xlink:to="loc_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_0b7cd2d3-342d-45d6-a59f-8e72fd6e93c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_2bc79abf-aae3-446c-8494-18d07172e306" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_4578aecc-f7fc-492a-94dc-d2e55341eee3" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_2bc79abf-aae3-446c-8494-18d07172e306" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_acf09e77-b195-4402-a1c6-f6b0b569e3dc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_4578aecc-f7fc-492a-94dc-d2e55341eee3" xlink:to="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_acf09e77-b195-4402-a1c6-f6b0b569e3dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_f387b950-3e3e-453f-890d-a6065115a2e7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_4578aecc-f7fc-492a-94dc-d2e55341eee3" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_f387b950-3e3e-453f-890d-a6065115a2e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherCurrentLiabilities_f9c2205e-efad-475a-9de9-3dd6496e5ee0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOtherCurrentLiabilities"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_4578aecc-f7fc-492a-94dc-d2e55341eee3" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherCurrentLiabilities_f9c2205e-efad-475a-9de9-3dd6496e5ee0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent_0f3f882f-14dc-4f93-a410-ed823140ef8c" xlink:href="appf-20210630.xsd#appf_IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_4578aecc-f7fc-492a-94dc-d2e55341eee3" xlink:to="loc_appf_IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent_0f3f882f-14dc-4f93-a410-ed823140ef8c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_IncreaseDecreaseInOperatingLeases_7c085d24-08c0-49d7-bf7e-154522c0fb13" xlink:href="appf-20210630.xsd#appf_IncreaseDecreaseInOperatingLeases"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_4578aecc-f7fc-492a-94dc-d2e55341eee3" xlink:to="loc_appf_IncreaseDecreaseInOperatingLeases_7c085d24-08c0-49d7-bf7e-154522c0fb13" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_35631f80-565e-4b4b-a79d-76980c92da9e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_91cd9944-b6c2-4e7f-a0f0-93d7e06060b2" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_35631f80-565e-4b4b-a79d-76980c92da9e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1bf51b2c-3706-4fd1-b59e-c981342d5c21" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_4f938a38-c6be-4e80-a500-741ba3b467a2" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1bf51b2c-3706-4fd1-b59e-c981342d5c21" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_19b2a3ba-d207-4948-87b9-c27b38019627" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1bf51b2c-3706-4fd1-b59e-c981342d5c21" xlink:to="loc_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_19b2a3ba-d207-4948-87b9-c27b38019627" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_50ad8daf-d625-43a7-811b-fb6e69789d5b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1bf51b2c-3706-4fd1-b59e-c981342d5c21" xlink:to="loc_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_50ad8daf-d625-43a7-811b-fb6e69789d5b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_e7d47b71-90c0-4549-8cd4-4fdba827f3ac" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1bf51b2c-3706-4fd1-b59e-c981342d5c21" xlink:to="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_e7d47b71-90c0-4549-8cd4-4fdba827f3ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_ca2e2cb7-7975-44e1-af11-68cc601abca7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1bf51b2c-3706-4fd1-b59e-c981342d5c21" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_ca2e2cb7-7975-44e1-af11-68cc601abca7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToDevelopSoftware_6a7c6ef3-bbbc-4bfd-8c50-61c8565ca3ce" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToDevelopSoftware"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1bf51b2c-3706-4fd1-b59e-c981342d5c21" xlink:to="loc_us-gaap_PaymentsToDevelopSoftware_6a7c6ef3-bbbc-4bfd-8c50-61c8565ca3ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_04e2f302-9fbd-4744-a5c8-adc198b43c31" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1bf51b2c-3706-4fd1-b59e-c981342d5c21" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_04e2f302-9fbd-4744-a5c8-adc198b43c31" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_e0bbca89-3355-4bb6-82c4-994d80f25f43" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_4f938a38-c6be-4e80-a500-741ba3b467a2" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_e0bbca89-3355-4bb6-82c4-994d80f25f43" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised_285c9f00-60f2-49ea-9070-b1747b4da0f3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_e0bbca89-3355-4bb6-82c4-994d80f25f43" xlink:to="loc_us-gaap_ProceedsFromStockOptionsExercised_285c9f00-60f2-49ea-9070-b1747b4da0f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_62e29120-a774-4bb2-87fb-834dd7d5c79a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_e0bbca89-3355-4bb6-82c4-994d80f25f43" xlink:to="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_62e29120-a774-4bb2-87fb-834dd7d5c79a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_986d9129-7799-4451-a087-db2e7e66e5e4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_e0bbca89-3355-4bb6-82c4-994d80f25f43" xlink:to="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_986d9129-7799-4451-a087-db2e7e66e5e4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSecuredDebt_a4d18e66-7485-4107-9a4a-61e0251bd38a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfSecuredDebt"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_e0bbca89-3355-4bb6-82c4-994d80f25f43" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfSecuredDebt_a4d18e66-7485-4107-9a4a-61e0251bd38a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfSecuredDebt_644637fe-8acc-4361-a5cb-ef2541f3e30b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfSecuredDebt"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_e0bbca89-3355-4bb6-82c4-994d80f25f43" xlink:to="loc_us-gaap_RepaymentsOfSecuredDebt_644637fe-8acc-4361-a5cb-ef2541f3e30b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_89893b57-17ec-4a79-b1b1-b2d09e3a2634" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_e0bbca89-3355-4bb6-82c4-994d80f25f43" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_89893b57-17ec-4a79-b1b1-b2d09e3a2634" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_c5243457-500a-484e-8765-f47e70dcce7e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_e0bbca89-3355-4bb6-82c4-994d80f25f43" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_c5243457-500a-484e-8765-f47e70dcce7e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_505d0518-a429-4ef5-9848-11016cc9f487" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_4f938a38-c6be-4e80-a500-741ba3b467a2" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_505d0518-a429-4ef5-9848-11016cc9f487" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract_3469cf32-f9ee-40ce-a071-92ae9e2414c3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_4f938a38-c6be-4e80-a500-741ba3b467a2" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract_3469cf32-f9ee-40ce-a071-92ae9e2414c3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_95eb1881-64f3-4287-98f4-57acf919b210" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract_3469cf32-f9ee-40ce-a071-92ae9e2414c3" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_95eb1881-64f3-4287-98f4-57acf919b210" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_48b5a646-9801-48af-a865-f641f5f96d8c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract_3469cf32-f9ee-40ce-a071-92ae9e2414c3" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_48b5a646-9801-48af-a865-f641f5f96d8c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_1d98111c-1715-41e9-b96a-6f6b3104948f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_4f938a38-c6be-4e80-a500-741ba3b467a2" xlink:to="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_1d98111c-1715-41e9-b96a-6f6b3104948f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalExpendituresIncurredButNotYetPaid_1e5f6294-303d-4d85-a3e9-17f35010a244" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_1d98111c-1715-41e9-b96a-6f6b3104948f" xlink:to="loc_us-gaap_CapitalExpendituresIncurredButNotYetPaid_1e5f6294-303d-4d85-a3e9-17f35010a244" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid_bf86dd87-d1aa-4059-8afe-77cfdde32853" xlink:href="appf-20210630.xsd#appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_1d98111c-1715-41e9-b96a-6f6b3104948f" xlink:to="loc_appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid_bf86dd87-d1aa-4059-8afe-77cfdde32853" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount_13351353-e51d-44c8-a867-ced820c71192" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_1d98111c-1715-41e9-b96a-6f6b3104948f" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount_13351353-e51d-44c8-a867-ced820c71192" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_bc25a89f-7657-4b57-8c7f-f51ef3f3218a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_4f938a38-c6be-4e80-a500-741ba3b467a2" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_bc25a89f-7657-4b57-8c7f-f51ef3f3218a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalents_eefafdf1-605f-4c70-a219-f54798da693d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalents"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_4f938a38-c6be-4e80-a500-741ba3b467a2" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalents_eefafdf1-605f-4c70-a219-f54798da693d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_28374b26-abff-4fc4-884b-b22aad432a25" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_4f938a38-c6be-4e80-a500-741ba3b467a2" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_28374b26-abff-4fc4-884b-b22aad432a25" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/NatureofBusiness" xlink:type="simple" xlink:href="appf-20210630.xsd#NatureofBusiness"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/NatureofBusiness" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_807acfdb-b541-492f-80cc-c88ba9627617" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NatureOfOperations_956fc21f-18fa-4693-bf15-fee2a132b66e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NatureOfOperations"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_807acfdb-b541-492f-80cc-c88ba9627617" xlink:to="loc_us-gaap_NatureOfOperations_956fc21f-18fa-4693-bf15-fee2a132b66e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPolicies" xlink:type="simple" xlink:href="appf-20210630.xsd#SummaryofSignificantAccountingPolicies"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_2ad78ca2-bb70-4850-9900-55c019cbfb21" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_bc96dd08-54cb-4385-a8d3-3a9a6567a5cf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_2ad78ca2-bb70-4850-9900-55c019cbfb21" xlink:to="loc_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_bc96dd08-54cb-4385-a8d3-3a9a6567a5cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="appf-20210630.xsd#SummaryofSignificantAccountingPoliciesPolicies"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_af27be8b-2612-49f9-81ff-ec937d425aaf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_7503a42d-4b5b-4e86-8607-22b43ce7802f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_af27be8b-2612-49f9-81ff-ec937d425aaf" xlink:to="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_7503a42d-4b5b-4e86-8607-22b43ce7802f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PriorPeriodReclassificationAdjustmentDescription_a75dedf9-6284-4b5f-955e-2f898f81f582" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PriorPeriodReclassificationAdjustmentDescription"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_af27be8b-2612-49f9-81ff-ec937d425aaf" xlink:to="loc_us-gaap_PriorPeriodReclassificationAdjustmentDescription_a75dedf9-6284-4b5f-955e-2f898f81f582" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UseOfEstimates_ff6e037f-83bc-4cbc-a278-7df1221d0352" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UseOfEstimates"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_af27be8b-2612-49f9-81ff-ec937d425aaf" xlink:to="loc_us-gaap_UseOfEstimates_ff6e037f-83bc-4cbc-a278-7df1221d0352" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerSharePolicyTextBlock_6958de2a-64dd-48e5-9a9b-77119d79e054" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerSharePolicyTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_af27be8b-2612-49f9-81ff-ec937d425aaf" xlink:to="loc_us-gaap_EarningsPerSharePolicyTextBlock_6958de2a-64dd-48e5-9a9b-77119d79e054" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_14990cd2-bcd5-4f1a-b758-ba21ac34a3d1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_af27be8b-2612-49f9-81ff-ec937d425aaf" xlink:to="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_14990cd2-bcd5-4f1a-b758-ba21ac34a3d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesTables" xlink:type="simple" xlink:href="appf-20210630.xsd#SummaryofSignificantAccountingPoliciesTables"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_9aa93066-51e5-47d7-80f7-39682188850b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_a0ab97f7-8127-4962-b375-39887ad4d68c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_9aa93066-51e5-47d7-80f7-39682188850b" xlink:to="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_a0ab97f7-8127-4962-b375-39887ad4d68c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_cc037164-a8a7-4369-a9c9-78028afd22e1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_2eb9d6a5-d09a-4f63-bc89-03f4afee6257" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_cc037164-a8a7-4369-a9c9-78028afd22e1" xlink:to="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_2eb9d6a5-d09a-4f63-bc89-03f4afee6257" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_b8da8254-28fc-45ea-9bd0-48ea7d91f777" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_2eb9d6a5-d09a-4f63-bc89-03f4afee6257" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_b8da8254-28fc-45ea-9bd0-48ea7d91f777" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_f6d0fb8c-9f67-43a3-9883-310a180bd48a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_b8da8254-28fc-45ea-9bd0-48ea7d91f777" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_f6d0fb8c-9f67-43a3-9883-310a180bd48a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_6f4c7ae2-4505-415b-a798-6357ec7205a3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PerformanceSharesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_f6d0fb8c-9f67-43a3-9883-310a180bd48a" xlink:to="loc_us-gaap_PerformanceSharesMember_6f4c7ae2-4505-415b-a798-6357ec7205a3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_53ad04f9-f36e-4259-9863-181936e71d54" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_2eb9d6a5-d09a-4f63-bc89-03f4afee6257" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_53ad04f9-f36e-4259-9863-181936e71d54" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesIssuedBasic_b87c18ff-e266-46e0-b99c-658899682465" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesIssuedBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_53ad04f9-f36e-4259-9863-181936e71d54" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesIssuedBasic_b87c18ff-e266-46e0-b99c-658899682465" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesRestrictedStock_4cee305e-077d-410e-937f-8e273b063dfb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesRestrictedStock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_53ad04f9-f36e-4259-9863-181936e71d54" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesRestrictedStock_4cee305e-077d-410e-937f-8e273b063dfb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_b4cc2ca0-245d-4abe-95e9-15a316240be4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_53ad04f9-f36e-4259-9863-181936e71d54" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_b4cc2ca0-245d-4abe-95e9-15a316240be4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_bad002e2-2b6e-4570-b34d-2f70bf1caa12" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_53ad04f9-f36e-4259-9863-181936e71d54" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_bad002e2-2b6e-4570-b34d-2f70bf1caa12" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_f02a2d26-5cf8-4527-ba6f-2c70bad7fe34" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_53ad04f9-f36e-4259-9863-181936e71d54" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_f02a2d26-5cf8-4527-ba6f-2c70bad7fe34" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_33fa77f3-61d0-4b24-912e-59aa4988b1ce" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_53ad04f9-f36e-4259-9863-181936e71d54" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_33fa77f3-61d0-4b24-912e-59aa4988b1ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/Divestitures" xlink:type="simple" xlink:href="appf-20210630.xsd#Divestitures"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/Divestitures" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_11883535-12aa-4e06-9fbc-724a88cc1e0f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationDisclosureTextBlock_da1dc3d5-6f0c-4f5a-b26f-cff2c4708788" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_11883535-12aa-4e06-9fbc-724a88cc1e0f" xlink:to="loc_us-gaap_BusinessCombinationDisclosureTextBlock_da1dc3d5-6f0c-4f5a-b26f-cff2c4708788" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/DivestituresNarrativeDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#DivestituresNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/DivestituresNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_e7703ab6-d145-4087-b8de-4a84b84eebc4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_6ea518f3-a18d-4a91-af10-4d4449c637a3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_e7703ab6-d145-4087-b8de-4a84b84eebc4" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_6ea518f3-a18d-4a91-af10-4d4449c637a3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis_eedae0e2-84f4-4c65-afd6-12f720c2bc23" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisposalGroupClassificationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_6ea518f3-a18d-4a91-af10-4d4449c637a3" xlink:to="loc_us-gaap_DisposalGroupClassificationAxis_eedae0e2-84f4-4c65-afd6-12f720c2bc23" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_d71bfc9d-270a-42c2-9da4-00048111a8ca" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisposalGroupClassificationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_eedae0e2-84f4-4c65-afd6-12f720c2bc23" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_d71bfc9d-270a-42c2-9da4-00048111a8ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_b91ab25f-e356-40c8-83a0-b657597b29ed" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_d71bfc9d-270a-42c2-9da4-00048111a8ca" xlink:to="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_b91ab25f-e356-40c8-83a0-b657597b29ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_c3a24807-f49f-42e2-a231-9d4a1396731a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_6ea518f3-a18d-4a91-af10-4d4449c637a3" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_c3a24807-f49f-42e2-a231-9d4a1396731a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_48f2c422-93a7-4019-ac74-f3a9925f0e95" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_c3a24807-f49f-42e2-a231-9d4a1396731a" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_48f2c422-93a7-4019-ac74-f3a9925f0e95" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_MyCaseMember_8e6bc347-9256-489e-bbd3-6213c1e43a44" xlink:href="appf-20210630.xsd#appf_MyCaseMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_48f2c422-93a7-4019-ac74-f3a9925f0e95" xlink:to="loc_appf_MyCaseMember_8e6bc347-9256-489e-bbd3-6213c1e43a44" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_6ea518f3-a18d-4a91-af10-4d4449c637a3" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_50fe15de-7e98-4924-b911-2501caafcfaa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_50fe15de-7e98-4924-b911-2501caafcfaa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries_30f83cc2-6a22-4e9a-b13d-fb70999f55fb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries_30f83cc2-6a22-4e9a-b13d-fb70999f55fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1_b3b6a9b9-3e83-465b-9b8c-c202d8fa9ffd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1_b3b6a9b9-3e83-465b-9b8c-c202d8fa9ffd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashDivestedFromDeconsolidation_e2d85b42-4b2b-403e-9924-b051429cbce6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashDivestedFromDeconsolidation"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_us-gaap_CashDivestedFromDeconsolidation_e2d85b42-4b2b-403e-9924-b051429cbce6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment_c8164a8a-cc5c-4dc2-b18f-4b054813460f" xlink:href="appf-20210630.xsd#appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment_c8164a8a-cc5c-4dc2-b18f-4b054813460f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod_dfe84624-e86b-4167-8b48-788b3ab10857" xlink:href="appf-20210630.xsd#appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod_dfe84624-e86b-4167-8b48-788b3ab10857" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_828944ee-a271-4823-8f92-62601c02c726" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_828944ee-a271-4823-8f92-62601c02c726" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_dfbf2878-0b95-477d-b629-e70460b300ec" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_dfbf2878-0b95-477d-b629-e70460b300ec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_NoncashOrPartNoncashDivestitureAdjustmentToConsideration_c27b3a94-e303-4964-b781-336c275b4e6c" xlink:href="appf-20210630.xsd#appf_NoncashOrPartNoncashDivestitureAdjustmentToConsideration"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_appf_NoncashOrPartNoncashDivestitureAdjustmentToConsideration_c27b3a94-e303-4964-b781-336c275b4e6c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware_990d8716-1844-427b-91dc-c85f1ffc5f01" xlink:href="appf-20210630.xsd#appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware_990d8716-1844-427b-91dc-c85f1ffc5f01" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue_10fb68e9-4053-42ff-ab58-a8519f492c17" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue_10fb68e9-4053-42ff-ab58-a8519f492c17" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1_6df5f9aa-2953-43cf-96e3-63f005d89eb0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1_6df5f9aa-2953-43cf-96e3-63f005d89eb0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome_fc31ab03-f670-4d00-9bba-27a0156c568f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ee44157d-5cd5-42c7-88ed-73b5e6949f93" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome_fc31ab03-f670-4d00-9bba-27a0156c568f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurements" xlink:type="simple" xlink:href="appf-20210630.xsd#InvestmentSecuritiesandFairValueMeasurements"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurements" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_55dba3a5-ba42-432e-b04d-68680eeb4cbb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock_20700dfa-588c-452f-ba36-e4008efbc50b" xlink:href="appf-20210630.xsd#appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_55dba3a5-ba42-432e-b04d-68680eeb4cbb" xlink:to="loc_appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock_20700dfa-588c-452f-ba36-e4008efbc50b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables" xlink:type="simple" xlink:href="appf-20210630.xsd#InvestmentSecuritiesandFairValueMeasurementsTables"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_913e286b-eb6a-466c-ace2-35f64e361951" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_adf314c7-a79d-406f-bd5e-1f9758e72ae0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_913e286b-eb6a-466c-ace2-35f64e361951" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_adf314c7-a79d-406f-bd5e-1f9758e72ae0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_5d4006db-f957-494c-90ef-d728f551fa38" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_913e286b-eb6a-466c-ace2-35f64e361951" xlink:to="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_5d4006db-f957-494c-90ef-d728f551fa38" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRealizedGainLossTableTextBlock_c9dd997a-118b-4185-90d9-19e43e13a0bf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRealizedGainLossTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_913e286b-eb6a-466c-ace2-35f64e361951" xlink:to="loc_us-gaap_ScheduleOfRealizedGainLossTableTextBlock_c9dd997a-118b-4185-90d9-19e43e13a0bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_4e02b57f-e859-41c8-a94e-0b1e06471e37" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_913e286b-eb6a-466c-ace2-35f64e361951" xlink:to="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_4e02b57f-e859-41c8-a94e-0b1e06471e37" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_09a02956-59f7-4bb9-9e61-0c8e4a882769" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_6530bfd0-b0f4-476d-a625-64213b36bf3b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_09a02956-59f7-4bb9-9e61-0c8e4a882769" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_6530bfd0-b0f4-476d-a625-64213b36bf3b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_055b5db7-f5b3-496f-8f7f-ee74199e9ee5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_6530bfd0-b0f4-476d-a625-64213b36bf3b" xlink:to="loc_us-gaap_FinancialInstrumentAxis_055b5db7-f5b3-496f-8f7f-ee74199e9ee5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_55accd45-adfb-4f7f-b065-da928d3ee88b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialInstrumentAxis_055b5db7-f5b3-496f-8f7f-ee74199e9ee5" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_55accd45-adfb-4f7f-b065-da928d3ee88b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_b637940d-c9fb-4c5e-a105-b3df06f7d6e9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_55accd45-adfb-4f7f-b065-da928d3ee88b" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_b637940d-c9fb-4c5e-a105-b3df06f7d6e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AgencySecuritiesMember_2cc0a872-c64f-4fce-9923-06b6a7eb8201" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AgencySecuritiesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_55accd45-adfb-4f7f-b065-da928d3ee88b" xlink:to="loc_us-gaap_AgencySecuritiesMember_2cc0a872-c64f-4fce-9923-06b6a7eb8201" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_4b4b9cb4-11d7-49de-8110-7ed2fcc967de" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_55accd45-adfb-4f7f-b065-da928d3ee88b" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_4b4b9cb4-11d7-49de-8110-7ed2fcc967de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_f5c86fa6-0326-47ce-820d-eb4268ca3ac4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_6530bfd0-b0f4-476d-a625-64213b36bf3b" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_f5c86fa6-0326-47ce-820d-eb4268ca3ac4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_ccf1e7c2-1616-4a58-9df6-d2a4b5f13aba" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_f5c86fa6-0326-47ce-820d-eb4268ca3ac4" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_ccf1e7c2-1616-4a58-9df6-d2a4b5f13aba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_c7e9265b-b5dd-4bc4-8f56-8b32cd09b60b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_f5c86fa6-0326-47ce-820d-eb4268ca3ac4" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_c7e9265b-b5dd-4bc4-8f56-8b32cd09b60b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_45ddf4a8-5731-45ad-be35-622fe4e224a8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_f5c86fa6-0326-47ce-820d-eb4268ca3ac4" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_45ddf4a8-5731-45ad-be35-622fe4e224a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_86e54f27-ac9f-4c67-a14e-f6a4828bf875" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_f5c86fa6-0326-47ce-820d-eb4268ca3ac4" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_86e54f27-ac9f-4c67-a14e-f6a4828bf875" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_d921a1c7-5879-4d76-a13e-f0f2bcb4e335" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss_be9c7c45-dc4f-4eed-a8c6-065dfe3c489d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_d921a1c7-5879-4d76-a13e-f0f2bcb4e335" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss_be9c7c45-dc4f-4eed-a8c6-065dfe3c489d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_AvailableForSaleSecuritiesMaximumContractualMaturity_ad7f7f52-7fc4-4850-9cf6-107d93f2ce7c" xlink:href="appf-20210630.xsd#appf_AvailableForSaleSecuritiesMaximumContractualMaturity"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_d921a1c7-5879-4d76-a13e-f0f2bcb4e335" xlink:to="loc_appf_AvailableForSaleSecuritiesMaximumContractualMaturity_ad7f7f52-7fc4-4850-9cf6-107d93f2ce7c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_3da71b91-7cf6-42ee-836a-7d1bcac0c817" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAbstract_a15317d1-a0b3-4ec0-b073-3503ff67ad64" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_3da71b91-7cf6-42ee-836a-7d1bcac0c817" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAbstract_a15317d1-a0b3-4ec0-b073-3503ff67ad64" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasisAbstract_c5fad9d4-a8f8-4610-8d30-542b88746817" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasisAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAbstract_a15317d1-a0b3-4ec0-b073-3503ff67ad64" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasisAbstract_c5fad9d4-a8f8-4610-8d30-542b88746817" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost_c831dd69-081a-4b38-9d70-27c0a7c592e1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasisAbstract_c5fad9d4-a8f8-4610-8d30-542b88746817" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost_c831dd69-081a-4b38-9d70-27c0a7c592e1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost_99ffb56c-0334-4f36-9085-9eeb96ab652c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasisAbstract_c5fad9d4-a8f8-4610-8d30-542b88746817" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost_99ffb56c-0334-4f36-9085-9eeb96ab652c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_7fbde13b-568b-44ff-b2cd-c9a8b05c5dfe" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasisAbstract_c5fad9d4-a8f8-4610-8d30-542b88746817" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_7fbde13b-568b-44ff-b2cd-c9a8b05c5dfe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract_ead6a5f8-12f0-408b-94b1-9d211a748305" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAbstract_a15317d1-a0b3-4ec0-b073-3503ff67ad64" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract_ead6a5f8-12f0-408b-94b1-9d211a748305" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_32bd0caf-7c4f-4c35-959c-da69a74ef438" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract_ead6a5f8-12f0-408b-94b1-9d211a748305" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_32bd0caf-7c4f-4c35-959c-da69a74ef438" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue_92abbcc8-08a7-4ad1-b9f1-2a4f9264c6a8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract_ead6a5f8-12f0-408b-94b1-9d211a748305" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue_92abbcc8-08a7-4ad1-b9f1-2a4f9264c6a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_4b157de9-e5c6-44a5-a084-f8ce76515e93" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract_ead6a5f8-12f0-408b-94b1-9d211a748305" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_4b157de9-e5c6-44a5-a084-f8ce76515e93" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_34e3082e-60e0-43d9-8cee-69502deb4abb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_7a8a3890-37b4-4638-a3ce-6bd9f5dd12da" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_34e3082e-60e0-43d9-8cee-69502deb4abb" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_7a8a3890-37b4-4638-a3ce-6bd9f5dd12da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_5fcb183f-c33e-4064-b4dd-322ca414567c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_7a8a3890-37b4-4638-a3ce-6bd9f5dd12da" xlink:to="loc_us-gaap_FinancialInstrumentAxis_5fcb183f-c33e-4064-b4dd-322ca414567c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c26aba3b-49a5-4c4e-b8db-f96aa4c3b0a5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialInstrumentAxis_5fcb183f-c33e-4064-b4dd-322ca414567c" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c26aba3b-49a5-4c4e-b8db-f96aa4c3b0a5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_515215c1-112f-455f-8140-69eee5c35a3a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c26aba3b-49a5-4c4e-b8db-f96aa4c3b0a5" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_515215c1-112f-455f-8140-69eee5c35a3a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AgencySecuritiesMember_d832b561-a8f9-4a6a-8d4f-27fbcc9e6fe9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AgencySecuritiesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c26aba3b-49a5-4c4e-b8db-f96aa4c3b0a5" xlink:to="loc_us-gaap_AgencySecuritiesMember_d832b561-a8f9-4a6a-8d4f-27fbcc9e6fe9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_db8ab488-2b2e-4b9a-9375-e4e32533074f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c26aba3b-49a5-4c4e-b8db-f96aa4c3b0a5" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_db8ab488-2b2e-4b9a-9375-e4e32533074f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_c9f3c37c-6270-40ae-8b1a-c675f3e92bb6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_7a8a3890-37b4-4638-a3ce-6bd9f5dd12da" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_c9f3c37c-6270-40ae-8b1a-c675f3e92bb6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain_47004253-5f87-4352-9ba6-cad2211d63b3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtSecuritiesAvailableForSaleRealizedGain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_c9f3c37c-6270-40ae-8b1a-c675f3e92bb6" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain_47004253-5f87-4352-9ba6-cad2211d63b3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss_8dd86f58-45fe-4be7-a7a1-94e80d583d54" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_c9f3c37c-6270-40ae-8b1a-c675f3e92bb6" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss_8dd86f58-45fe-4be7-a7a1-94e80d583d54" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_eaa0b24f-e35f-4c11-8bb6-f0d2a7c610cf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_c9f3c37c-6270-40ae-8b1a-c675f3e92bb6" xlink:to="loc_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_eaa0b24f-e35f-4c11-8bb6-f0d2a7c610cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_8ab41447-80fc-4026-8474-dd798c047561" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_c9f3c37c-6270-40ae-8b1a-c675f3e92bb6" xlink:to="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_8ab41447-80fc-4026-8474-dd798c047561" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentIncomeInterest_0ac4f8de-8de9-4768-a50c-f8df14635903" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InvestmentIncomeInterest"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_c9f3c37c-6270-40ae-8b1a-c675f3e92bb6" xlink:to="loc_us-gaap_InvestmentIncomeInterest_0ac4f8de-8de9-4768-a50c-f8df14635903" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_d1b85d4d-abbf-4c3e-97e6-c44ebb85465a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_37feee92-bf1b-41c1-aec1-b5390e13b72d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_d1b85d4d-abbf-4c3e-97e6-c44ebb85465a" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_37feee92-bf1b-41c1-aec1-b5390e13b72d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_e24a5fb9-f844-4ac3-ac50-cbb89727c071" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_37feee92-bf1b-41c1-aec1-b5390e13b72d" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_e24a5fb9-f844-4ac3-ac50-cbb89727c071" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_919e5f1c-045e-41e7-b568-28fdd30f84e8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_e24a5fb9-f844-4ac3-ac50-cbb89727c071" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_919e5f1c-045e-41e7-b568-28fdd30f84e8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_a76337fa-a970-485d-aa61-62efb0e9becc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_919e5f1c-045e-41e7-b568-28fdd30f84e8" xlink:to="loc_us-gaap_FairValueMeasurementsRecurringMember_a76337fa-a970-485d-aa61-62efb0e9becc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_84efa974-d7d4-4ddc-b7c7-6923ed6cf156" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_37feee92-bf1b-41c1-aec1-b5390e13b72d" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_84efa974-d7d4-4ddc-b7c7-6923ed6cf156" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1136b7cb-e111-4f69-969b-dc4d2f3cc729" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_84efa974-d7d4-4ddc-b7c7-6923ed6cf156" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1136b7cb-e111-4f69-969b-dc4d2f3cc729" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_e8cd655e-3100-47ff-bbd7-688252d60c30" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1136b7cb-e111-4f69-969b-dc4d2f3cc729" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_e8cd655e-3100-47ff-bbd7-688252d60c30" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_925cc995-063f-4f0b-883d-6b3559359f97" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1136b7cb-e111-4f69-969b-dc4d2f3cc729" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_925cc995-063f-4f0b-883d-6b3559359f97" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_9272d9d8-9365-4f7e-9b7b-d5d73919c9cc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel3Member"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1136b7cb-e111-4f69-969b-dc4d2f3cc729" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_9272d9d8-9365-4f7e-9b7b-d5d73919c9cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAxis_aa94f66e-7caf-4ffd-b378-2bba98145122" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_37feee92-bf1b-41c1-aec1-b5390e13b72d" xlink:to="loc_us-gaap_CashAndCashEquivalentsAxis_aa94f66e-7caf-4ffd-b378-2bba98145122" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_0ff3ba9d-a354-467d-9edf-5d70774027a9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_aa94f66e-7caf-4ffd-b378-2bba98145122" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_0ff3ba9d-a354-467d-9edf-5d70774027a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsMember_9221d6b7-0f8f-471e-b120-97706ed6d097" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MoneyMarketFundsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_0ff3ba9d-a354-467d-9edf-5d70774027a9" xlink:to="loc_us-gaap_MoneyMarketFundsMember_9221d6b7-0f8f-471e-b120-97706ed6d097" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperMember_7e1f13a6-2144-4fd3-8960-e9eded8ae056" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommercialPaperMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_0ff3ba9d-a354-467d-9edf-5d70774027a9" xlink:to="loc_us-gaap_CommercialPaperMember_7e1f13a6-2144-4fd3-8960-e9eded8ae056" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_eac5ea05-6b44-47f2-841a-7a692ee4f500" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_37feee92-bf1b-41c1-aec1-b5390e13b72d" xlink:to="loc_us-gaap_FinancialInstrumentAxis_eac5ea05-6b44-47f2-841a-7a692ee4f500" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_f2e68ef7-b6c4-4e19-8812-14494b3eff18" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialInstrumentAxis_eac5ea05-6b44-47f2-841a-7a692ee4f500" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_f2e68ef7-b6c4-4e19-8812-14494b3eff18" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_50a154fa-2650-40ff-9fb9-0cd091e89b75" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_f2e68ef7-b6c4-4e19-8812-14494b3eff18" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_50a154fa-2650-40ff-9fb9-0cd091e89b75" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AgencySecuritiesMember_c7e774ce-b113-4bdb-8367-46642b07ae10" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AgencySecuritiesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_f2e68ef7-b6c4-4e19-8812-14494b3eff18" xlink:to="loc_us-gaap_AgencySecuritiesMember_c7e774ce-b113-4bdb-8367-46642b07ae10" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_74be6d79-8ec2-4f07-83a6-a849967c413c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_f2e68ef7-b6c4-4e19-8812-14494b3eff18" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_74be6d79-8ec2-4f07-83a6-a849967c413c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_79413a5e-eb33-4e58-b421-96bfbebd2d14" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_37feee92-bf1b-41c1-aec1-b5390e13b72d" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_79413a5e-eb33-4e58-b421-96bfbebd2d14" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_aa85c737-a9e6-469a-8c60-94e2cb047578" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_79413a5e-eb33-4e58-b421-96bfbebd2d14" xlink:to="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_aa85c737-a9e6-469a-8c60-94e2cb047578" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_0ef3f39f-72df-4b64-b025-64203da58e79" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_79413a5e-eb33-4e58-b421-96bfbebd2d14" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_0ef3f39f-72df-4b64-b025-64203da58e79" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure_ffe00615-10d4-479c-886f-acc8c2afc3ba" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_79413a5e-eb33-4e58-b421-96bfbebd2d14" xlink:to="loc_us-gaap_AssetsFairValueDisclosure_ffe00615-10d4-479c-886f-acc8c2afc3ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnet" xlink:type="simple" xlink:href="appf-20210630.xsd#CapitalizedSoftwareDevelopmentCostnet"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnet" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentAbstract_22aced4f-20de-4a3b-a51b-7a8a0d2616bc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_8335b0fa-6c8b-4756-9f58-e82b4845eea2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ResearchAndDevelopmentAbstract_22aced4f-20de-4a3b-a51b-7a8a0d2616bc" xlink:to="loc_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_8335b0fa-6c8b-4756-9f58-e82b4845eea2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetTables" xlink:type="simple" xlink:href="appf-20210630.xsd#CapitalizedSoftwareDevelopmentCostnetTables"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentAbstract_21d0bb5b-1dbb-428b-a466-1bd258a773d9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock_cbb713b5-7bb4-451e-a21f-ba1939c1ea3d" xlink:href="appf-20210630.xsd#appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ResearchAndDevelopmentAbstract_21d0bb5b-1dbb-428b-a466-1bd258a773d9" xlink:to="loc_appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock_cbb713b5-7bb4-451e-a21f-ba1939c1ea3d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock_b81aa9e9-6f89-42b4-abc7-e684c2daa863" xlink:href="appf-20210630.xsd#appf_ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ResearchAndDevelopmentAbstract_21d0bb5b-1dbb-428b-a466-1bd258a773d9" xlink:to="loc_appf_ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock_b81aa9e9-6f89-42b4-abc7-e684c2daa863" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentAbstract_3c55edf4-5c3c-416d-b46d-8a3429691bd2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareGross_792ee48c-1f15-4cc4-b103-54540aaff74d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareGross"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ResearchAndDevelopmentAbstract_3c55edf4-5c3c-416d-b46d-8a3429691bd2" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareGross_792ee48c-1f15-4cc4-b103-54540aaff74d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization_c1b9474f-0e8b-40b1-a013-170516807541" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ResearchAndDevelopmentAbstract_3c55edf4-5c3c-416d-b46d-8a3429691bd2" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization_c1b9474f-0e8b-40b1-a013-170516807541" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareNet_76f67d1b-58c6-4439-b182-6cc0fc8475d6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ResearchAndDevelopmentAbstract_3c55edf4-5c3c-416d-b46d-8a3429691bd2" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareNet_76f67d1b-58c6-4439-b182-6cc0fc8475d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetNarrativeDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#CapitalizedSoftwareDevelopmentCostnetNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentAbstract_fd7973fa-fb5c-46c6-b667-2980dd0ac7e3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareAdditions_57e4600f-282d-4c68-bc6e-91b8ba63e665" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAdditions"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ResearchAndDevelopmentAbstract_fd7973fa-fb5c-46c6-b667-2980dd0ac7e3" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareAdditions_57e4600f-282d-4c68-bc6e-91b8ba63e665" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareAmortization1_c447b37b-5bf5-45d7-b531-9ec371390d32" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAmortization1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ResearchAndDevelopmentAbstract_fd7973fa-fb5c-46c6-b667-2980dd0ac7e3" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareAmortization1_c447b37b-5bf5-45d7-b531-9ec371390d32" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentAbstract_3ac6c1bb-b058-4752-97b5-656196086a52" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareNetAbstract_5925018f-00b7-4bf5-82da-d2613d87b904" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareNetAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ResearchAndDevelopmentAbstract_3ac6c1bb-b058-4752-97b5-656196086a52" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareNetAbstract_5925018f-00b7-4bf5-82da-d2613d87b904" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear_23f0ba66-c302-4aee-bc7a-b4fc7c7de071" xlink:href="appf-20210630.xsd#appf_CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareNetAbstract_5925018f-00b7-4bf5-82da-d2613d87b904" xlink:to="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear_23f0ba66-c302-4aee-bc7a-b4fc7c7de071" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne_906d751b-39a7-4509-b306-f9095f2d6954" xlink:href="appf-20210630.xsd#appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareNetAbstract_5925018f-00b7-4bf5-82da-d2613d87b904" xlink:to="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne_906d751b-39a7-4509-b306-f9095f2d6954" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo_a9837cec-d313-4b6f-aae6-471df4aa52dc" xlink:href="appf-20210630.xsd#appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareNetAbstract_5925018f-00b7-4bf5-82da-d2613d87b904" xlink:to="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo_a9837cec-d313-4b6f-aae6-471df4aa52dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree_696d9ff9-2ee8-44ad-9a7f-bec0f57db495" xlink:href="appf-20210630.xsd#appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareNetAbstract_5925018f-00b7-4bf5-82da-d2613d87b904" xlink:to="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree_696d9ff9-2ee8-44ad-9a7f-bec0f57db495" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareNet_e261ea17-0c27-458f-b37f-71e5be7e711a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareNet"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ResearchAndDevelopmentAbstract_3ac6c1bb-b058-4752-97b5-656196086a52" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareNet_e261ea17-0c27-458f-b37f-71e5be7e711a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IntangibleAssetsnet" xlink:type="simple" xlink:href="appf-20210630.xsd#IntangibleAssetsnet"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/IntangibleAssetsnet" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_04439d37-c93b-4051-a151-90595c31e23a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_ae8394e4-89d3-438b-bfaa-1640f7d66824" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_04439d37-c93b-4051-a151-90595c31e23a" xlink:to="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_ae8394e4-89d3-438b-bfaa-1640f7d66824" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IntangibleAssetsnetTables" xlink:type="simple" xlink:href="appf-20210630.xsd#IntangibleAssetsnetTables"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/IntangibleAssetsnetTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_6a7e097c-2279-40ae-9063-0d1bdcd328ac" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_4d304754-538e-4714-b658-59a640c11477" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_6a7e097c-2279-40ae-9063-0d1bdcd328ac" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_4d304754-538e-4714-b658-59a640c11477" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_4433f4a7-2cce-4de4-af02-4ba666f75a48" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_6a7e097c-2279-40ae-9063-0d1bdcd328ac" xlink:to="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_4433f4a7-2cce-4de4-af02-4ba666f75a48" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_b0896fea-326a-4157-8e9f-c6016717a533" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e05cbe6e-bd3c-4e08-90b1-54a57405b5fe" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_b0896fea-326a-4157-8e9f-c6016717a533" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e05cbe6e-bd3c-4e08-90b1-54a57405b5fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_ab853148-e447-4205-b698-4865aa0bab84" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e05cbe6e-bd3c-4e08-90b1-54a57405b5fe" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_ab853148-e447-4205-b698-4865aa0bab84" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1790c8e1-6a4e-426f-a39c-fc501d797c12" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_ab853148-e447-4205-b698-4865aa0bab84" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1790c8e1-6a4e-426f-a39c-fc501d797c12" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_84c299db-5e5f-46d5-9776-66a7d1effbe7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1790c8e1-6a4e-426f-a39c-fc501d797c12" xlink:to="loc_us-gaap_CustomerRelationshipsMember_84c299db-5e5f-46d5-9776-66a7d1effbe7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DatabaseMember_823ab78d-390d-42e1-bc4b-54981d7be942" xlink:href="appf-20210630.xsd#appf_DatabaseMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1790c8e1-6a4e-426f-a39c-fc501d797c12" xlink:to="loc_appf_DatabaseMember_823ab78d-390d-42e1-bc4b-54981d7be942" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_TechnologyMember_0aeda57d-7e29-474a-9bc5-df4da68c9791" xlink:href="appf-20210630.xsd#appf_TechnologyMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1790c8e1-6a4e-426f-a39c-fc501d797c12" xlink:to="loc_appf_TechnologyMember_0aeda57d-7e29-474a-9bc5-df4da68c9791" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksAndTradeNamesMember_25c5cd68-8305-407b-ac60-fc956668b105" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TrademarksAndTradeNamesMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1790c8e1-6a4e-426f-a39c-fc501d797c12" xlink:to="loc_us-gaap_TrademarksAndTradeNamesMember_25c5cd68-8305-407b-ac60-fc956668b105" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PartnerRelationshipsMember_e92e73d9-044e-42df-8a31-0394aa0cf3c5" xlink:href="appf-20210630.xsd#appf_PartnerRelationshipsMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1790c8e1-6a4e-426f-a39c-fc501d797c12" xlink:to="loc_appf_PartnerRelationshipsMember_e92e73d9-044e-42df-8a31-0394aa0cf3c5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncompeteAgreementsMember_4c5b3f61-b7f4-4457-abe1-d1f9fb3031c0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NoncompeteAgreementsMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1790c8e1-6a4e-426f-a39c-fc501d797c12" xlink:to="loc_us-gaap_NoncompeteAgreementsMember_4c5b3f61-b7f4-4457-abe1-d1f9fb3031c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InternetDomainNamesMember_55c38c0a-4e37-418a-b4c1-87c538818cd2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InternetDomainNamesMember"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1790c8e1-6a4e-426f-a39c-fc501d797c12" xlink:to="loc_us-gaap_InternetDomainNamesMember_55c38c0a-4e37-418a-b4c1-87c538818cd2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PatentsMember_6a3313e6-aebf-44ed-b72e-eaccd3310805" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PatentsMember"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1790c8e1-6a4e-426f-a39c-fc501d797c12" xlink:to="loc_us-gaap_PatentsMember_6a3313e6-aebf-44ed-b72e-eaccd3310805" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_b0921610-6d0a-4a07-88a0-dd7becccae53" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e05cbe6e-bd3c-4e08-90b1-54a57405b5fe" xlink:to="loc_srt_RangeAxis_b0921610-6d0a-4a07-88a0-dd7becccae53" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_8820774c-17c1-4756-bd27-ad2655295f81" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_b0921610-6d0a-4a07-88a0-dd7becccae53" xlink:to="loc_srt_RangeMember_8820774c-17c1-4756-bd27-ad2655295f81" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_WeightedAverageMember_88faa0be-c653-4732-8598-ee93db58ed3a" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_WeightedAverageMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_8820774c-17c1-4756-bd27-ad2655295f81" xlink:to="loc_srt_WeightedAverageMember_88faa0be-c653-4732-8598-ee93db58ed3a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_0749d311-8045-4452-a37f-c7422aa40c0c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e05cbe6e-bd3c-4e08-90b1-54a57405b5fe" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_0749d311-8045-4452-a37f-c7422aa40c0c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_a41c437c-900f-43df-bf5b-ee36f541e883" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_0749d311-8045-4452-a37f-c7422aa40c0c" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_a41c437c-900f-43df-bf5b-ee36f541e883" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_98527c05-2d30-4d9b-a96e-7ee49fa0dacc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_0749d311-8045-4452-a37f-c7422aa40c0c" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_98527c05-2d30-4d9b-a96e-7ee49fa0dacc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_fca87099-0850-466f-9ead-218ef62aa5c5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_0749d311-8045-4452-a37f-c7422aa40c0c" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_fca87099-0850-466f-9ead-218ef62aa5c5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_afad91bc-41ec-4280-96d7-f3c7e251ecf1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_0749d311-8045-4452-a37f-c7422aa40c0c" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_afad91bc-41ec-4280-96d7-f3c7e251ecf1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_710456cb-d594-41fc-87a1-bc88612d64e5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_0749d311-8045-4452-a37f-c7422aa40c0c" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_710456cb-d594-41fc-87a1-bc88612d64e5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_b6d9be36-bef1-456f-acda-e097157221cd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_d04e9523-fa80-4085-8681-12df48ebd709" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_b6d9be36-bef1-456f-acda-e097157221cd" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_d04e9523-fa80-4085-8681-12df48ebd709" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_c0a08827-d706-48e2-b161-6a92f81e4ebb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_d04e9523-fa80-4085-8681-12df48ebd709" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_c0a08827-d706-48e2-b161-6a92f81e4ebb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_58d4b253-cf0a-425c-8962-476836f57da8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_d04e9523-fa80-4085-8681-12df48ebd709" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_58d4b253-cf0a-425c-8962-476836f57da8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_4edcccab-75be-4d15-8e91-f4948662876f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_d04e9523-fa80-4085-8681-12df48ebd709" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_4edcccab-75be-4d15-8e91-f4948662876f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_fcd11ff4-35cf-47e2-b6b2-c7c13223118c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_d04e9523-fa80-4085-8681-12df48ebd709" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_fcd11ff4-35cf-47e2-b6b2-c7c13223118c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_b3a0abad-2cd4-4784-9fee-14590d71a8fb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_d04e9523-fa80-4085-8681-12df48ebd709" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_b3a0abad-2cd4-4784-9fee-14590d71a8fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour_784cb5aa-901f-4a5b-933e-4b54a6e3901f" xlink:href="appf-20210630.xsd#appf_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_d04e9523-fa80-4085-8681-12df48ebd709" xlink:to="loc_appf_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour_784cb5aa-901f-4a5b-933e-4b54a6e3901f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_656225df-c09c-411f-bce6-804a00cfdc66" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_d04e9523-fa80-4085-8681-12df48ebd709" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_656225df-c09c-411f-bce6-804a00cfdc66" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/AccruedEmployeeExpenses" xlink:type="simple" xlink:href="appf-20210630.xsd#AccruedEmployeeExpenses"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/AccruedEmployeeExpenses" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationRelatedCostsAbstract_04ddfa16-1ad6-4fae-9ec4-93ed59a22df9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CompensationRelatedCostsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationRelatedCostsGeneralTextBlock_13f21187-c07b-4840-b01e-fa5cfe767569" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CompensationRelatedCostsGeneralTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationRelatedCostsAbstract_04ddfa16-1ad6-4fae-9ec4-93ed59a22df9" xlink:to="loc_us-gaap_CompensationRelatedCostsGeneralTextBlock_13f21187-c07b-4840-b01e-fa5cfe767569" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/AccruedEmployeeExpensesTables" xlink:type="simple" xlink:href="appf-20210630.xsd#AccruedEmployeeExpensesTables"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/AccruedEmployeeExpensesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationRelatedCostsAbstract_1c81c2ef-edfc-40fc-ab7c-2d08341c30cd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CompensationRelatedCostsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock_d1ea5799-b802-458d-be63-6d5fdfb14b9b" xlink:href="appf-20210630.xsd#appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationRelatedCostsAbstract_1c81c2ef-edfc-40fc-ab7c-2d08341c30cd" xlink:to="loc_appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock_d1ea5799-b802-458d-be63-6d5fdfb14b9b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/AccruedEmployeeExpensesDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#AccruedEmployeeExpensesDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/AccruedEmployeeExpensesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationRelatedCostsAbstract_adb90afa-debb-4351-af3a-d672001491cf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CompensationRelatedCostsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedVacationCurrent_9f79e4e9-f509-442a-a5ec-560aa2259a58" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedVacationCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationRelatedCostsAbstract_adb90afa-debb-4351-af3a-d672001491cf" xlink:to="loc_us-gaap_AccruedVacationCurrent_9f79e4e9-f509-442a-a5ec-560aa2259a58" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedBonusesCurrent_f99998ee-53ac-47d2-980d-ce759f6bc865" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedBonusesCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationRelatedCostsAbstract_adb90afa-debb-4351-af3a-d672001491cf" xlink:to="loc_us-gaap_AccruedBonusesCurrent_f99998ee-53ac-47d2-980d-ce759f6bc865" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedSalesCommissionCurrent_5492d989-2240-4aa9-a1b1-105feb7e819e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedSalesCommissionCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationRelatedCostsAbstract_adb90afa-debb-4351-af3a-d672001491cf" xlink:to="loc_us-gaap_AccruedSalesCommissionCurrent_5492d989-2240-4aa9-a1b1-105feb7e819e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedSalariesCurrent_2a5d2767-41b9-4df8-94af-42cdc557b0a4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedSalariesCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationRelatedCostsAbstract_adb90afa-debb-4351-af3a-d672001491cf" xlink:to="loc_us-gaap_AccruedSalariesCurrent_2a5d2767-41b9-4df8-94af-42cdc557b0a4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedPayrollTaxesCurrent_0d20f63e-ab65-4783-be76-837a1a80cb9c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedPayrollTaxesCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationRelatedCostsAbstract_adb90afa-debb-4351-af3a-d672001491cf" xlink:to="loc_us-gaap_AccruedPayrollTaxesCurrent_0d20f63e-ab65-4783-be76-837a1a80cb9c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_35cf8f17-3f48-4625-82f4-4c4e8bbb20c0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationRelatedCostsAbstract_adb90afa-debb-4351-af3a-d672001491cf" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_35cf8f17-3f48-4625-82f4-4c4e8bbb20c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent_d1e3e993-fe78-4ee9-b4ce-355fcaf3f5ec" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationRelatedCostsAbstract_adb90afa-debb-4351-af3a-d672001491cf" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent_d1e3e993-fe78-4ee9-b4ce-355fcaf3f5ec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/AccruedEmployeeExpensesNarrativeDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#AccruedEmployeeExpensesNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/AccruedEmployeeExpensesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationRelatedCostsAbstract_5dc1e5dd-d087-403c-b632-f31f3ef4118e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CompensationRelatedCostsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_4bc484d1-8ed3-46a0-8a3c-72775cf326a6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationRelatedCostsAbstract_5dc1e5dd-d087-403c-b632-f31f3ef4118e" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_4bc484d1-8ed3-46a0-8a3c-72775cf326a6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_95fb4a16-abee-4068-bc8a-e094c4bdf43e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_4bc484d1-8ed3-46a0-8a3c-72775cf326a6" xlink:to="loc_us-gaap_PlanNameAxis_95fb4a16-abee-4068-bc8a-e094c4bdf43e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_a88b6bbc-62bf-439a-a3fb-5c4993133dd3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_95fb4a16-abee-4068-bc8a-e094c4bdf43e" xlink:to="loc_us-gaap_PlanNameDomain_a88b6bbc-62bf-439a-a3fb-5c4993133dd3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_A2021ThreeYearPlanMember_982e607d-e960-4b8c-a268-aa8cce538683" xlink:href="appf-20210630.xsd#appf_A2021ThreeYearPlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_a88b6bbc-62bf-439a-a3fb-5c4993133dd3" xlink:to="loc_appf_A2021ThreeYearPlanMember_982e607d-e960-4b8c-a268-aa8cce538683" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c14d36fd-badd-45fb-ad0e-3cf74a8af979" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_4bc484d1-8ed3-46a0-8a3c-72775cf326a6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c14d36fd-badd-45fb-ad0e-3cf74a8af979" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_43006863-3275-4542-b99b-9ee22444e11f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c14d36fd-badd-45fb-ad0e-3cf74a8af979" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_43006863-3275-4542-b99b-9ee22444e11f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_EmployeeRelatedLiabilitiesNoncurrent_7bb441b9-6005-41e5-a962-c8f74804805c" xlink:href="appf-20210630.xsd#appf_EmployeeRelatedLiabilitiesNoncurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c14d36fd-badd-45fb-ad0e-3cf74a8af979" xlink:to="loc_appf_EmployeeRelatedLiabilitiesNoncurrent_7bb441b9-6005-41e5-a962-c8f74804805c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/Leases" xlink:type="simple" xlink:href="appf-20210630.xsd#Leases"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/Leases" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_eab69a1a-3d9c-461b-8174-3dc0d526053e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock_9d4afc1f-bf32-4dd3-9265-c6c6bf570ede" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_eab69a1a-3d9c-461b-8174-3dc0d526053e" xlink:to="loc_us-gaap_LesseeOperatingLeasesTextBlock_9d4afc1f-bf32-4dd3-9265-c6c6bf570ede" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/LeasesTables" xlink:type="simple" xlink:href="appf-20210630.xsd#LeasesTables"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/LeasesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_fab9fef9-177b-4a00-aadd-f2111208368b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCostTableTextBlock_64c8a085-e2fa-47d1-a68b-dd84c784409f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseCostTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_fab9fef9-177b-4a00-aadd-f2111208368b" xlink:to="loc_us-gaap_LeaseCostTableTextBlock_64c8a085-e2fa-47d1-a68b-dd84c784409f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_33b19867-4b16-48fb-81c3-729a6b76a3ed" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_fab9fef9-177b-4a00-aadd-f2111208368b" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_33b19867-4b16-48fb-81c3-729a6b76a3ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/LeasesNarrativeDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#LeasesNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/LeasesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_94a463ed-2a26-40f7-812d-1a74bd468c51" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionTable_1e251dd3-b28f-48ef-9d34-b86b70811228" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeLeaseDescriptionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_94a463ed-2a26-40f7-812d-1a74bd468c51" xlink:to="loc_us-gaap_LesseeLeaseDescriptionTable_1e251dd3-b28f-48ef-9d34-b86b70811228" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_69294a96-274e-4d28-9913-33757d36baa4" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_1e251dd3-b28f-48ef-9d34-b86b70811228" xlink:to="loc_srt_RangeAxis_69294a96-274e-4d28-9913-33757d36baa4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_035ef0da-80cb-4923-ad2d-dc0fa7cd04df" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_69294a96-274e-4d28-9913-33757d36baa4" xlink:to="loc_srt_RangeMember_035ef0da-80cb-4923-ad2d-dc0fa7cd04df" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_3a91edf8-8021-44bb-b3a5-ae9c8e011aa9" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_035ef0da-80cb-4923-ad2d-dc0fa7cd04df" xlink:to="loc_srt_MinimumMember_3a91edf8-8021-44bb-b3a5-ae9c8e011aa9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_c6a34639-7bd1-4a48-aeb3-0f0bc6593711" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_035ef0da-80cb-4923-ad2d-dc0fa7cd04df" xlink:to="loc_srt_MaximumMember_c6a34639-7bd1-4a48-aeb3-0f0bc6593711" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionLineItems_69b8349a-dcbc-4fc8-ae9d-10fc8446af3a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeLeaseDescriptionLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_1e251dd3-b28f-48ef-9d34-b86b70811228" xlink:to="loc_us-gaap_LesseeLeaseDescriptionLineItems_69b8349a-dcbc-4fc8-ae9d-10fc8446af3a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseTermOfContract_9554b46f-a301-4819-b679-f4e0706ab479" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseTermOfContract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_69b8349a-dcbc-4fc8-ae9d-10fc8446af3a" xlink:to="loc_us-gaap_LesseeOperatingLeaseTermOfContract_9554b46f-a301-4819-b679-f4e0706ab479" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeaseRenewalTerm_15094169-2a0a-4cd7-96d8-3506d09683fe" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LessorOperatingLeaseRenewalTerm"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_69b8349a-dcbc-4fc8-ae9d-10fc8446af3a" xlink:to="loc_us-gaap_LessorOperatingLeaseRenewalTerm_15094169-2a0a-4cd7-96d8-3506d09683fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseExpenseDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#LeasesScheduleofComponentsofLeaseExpenseDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_cccf9a42-1eb5-4ac7-a248-9c143e409904" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost_bd7ab1e6-fb2f-4527-92ea-8d30bc9f7930" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseCost"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_cccf9a42-1eb5-4ac7-a248-9c143e409904" xlink:to="loc_us-gaap_OperatingLeaseCost_bd7ab1e6-fb2f-4527-92ea-8d30bc9f7930" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableLeaseCost_338d3044-607d-4f2a-85dd-56aaa9c47179" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VariableLeaseCost"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_cccf9a42-1eb5-4ac7-a248-9c143e409904" xlink:to="loc_us-gaap_VariableLeaseCost_338d3044-607d-4f2a-85dd-56aaa9c47179" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCost_f290ae25-cb52-4172-b500-cf49941d7628" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseCost"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_cccf9a42-1eb5-4ac7-a248-9c143e409904" xlink:to="loc_us-gaap_LeaseCost_f290ae25-cb52-4172-b500-cf49941d7628" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/LeasesLeaseRelatedAssetsandLiabilitiesDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#LeasesLeaseRelatedAssetsandLiabilitiesDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/LeasesLeaseRelatedAssetsandLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_5e1beecb-4f7d-4694-9f8b-1f5ea984e628" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets_2ccef095-d8f4-4dae-b117-52e1bc01c66c" xlink:href="appf-20210630.xsd#appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_5e1beecb-4f7d-4694-9f8b-1f5ea984e628" xlink:to="loc_appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets_2ccef095-d8f4-4dae-b117-52e1bc01c66c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_9b98b281-a3b5-49e4-9f11-6de5de0ae356" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_5e1beecb-4f7d-4694-9f8b-1f5ea984e628" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_9b98b281-a3b5-49e4-9f11-6de5de0ae356" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_fcd31f99-c1f4-4efa-8ace-192dba2e375d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_5e1beecb-4f7d-4694-9f8b-1f5ea984e628" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_fcd31f99-c1f4-4efa-8ace-192dba2e375d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_6dccffc3-a81e-4f5b-895a-f0be77e0aec0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_5e1beecb-4f7d-4694-9f8b-1f5ea984e628" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_6dccffc3-a81e-4f5b-895a-f0be77e0aec0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_b754ffc9-49dc-4322-bbc0-8f852de3faa9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_5e1beecb-4f7d-4694-9f8b-1f5ea984e628" xlink:to="loc_us-gaap_OperatingLeaseLiability_b754ffc9-49dc-4322-bbc0-8f852de3faa9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_78d10122-9497-495e-8a48-20d10c0ea866" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_5e1beecb-4f7d-4694-9f8b-1f5ea984e628" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_78d10122-9497-495e-8a48-20d10c0ea866" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_9d137214-ad6a-4c02-a81d-8712e91673ac" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_0d3c6ab6-f553-4a28-a74f-fb298010d8a8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_9d137214-ad6a-4c02-a81d-8712e91673ac" xlink:to="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_0d3c6ab6-f553-4a28-a74f-fb298010d8a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_8a724859-0285-4544-854f-5f356ca684d6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_0d3c6ab6-f553-4a28-a74f-fb298010d8a8" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_8a724859-0285-4544-854f-5f356ca684d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_3908a81e-ce44-441b-8906-ac4eef23d030" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_0d3c6ab6-f553-4a28-a74f-fb298010d8a8" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_3908a81e-ce44-441b-8906-ac4eef23d030" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_4000bed8-30da-492d-a004-1681ce8e9775" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_0d3c6ab6-f553-4a28-a74f-fb298010d8a8" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_4000bed8-30da-492d-a004-1681ce8e9775" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_5284a621-fe93-4e78-9ab0-7b599c650c2b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_0d3c6ab6-f553-4a28-a74f-fb298010d8a8" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_5284a621-fe93-4e78-9ab0-7b599c650c2b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_302f869a-94e8-44ca-8789-dfa6747e4140" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_0d3c6ab6-f553-4a28-a74f-fb298010d8a8" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_302f869a-94e8-44ca-8789-dfa6747e4140" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_26f654ea-c2f9-460a-a874-f19abb2e4501" xlink:href="appf-20210630.xsd#appf_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_0d3c6ab6-f553-4a28-a74f-fb298010d8a8" xlink:to="loc_appf_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_26f654ea-c2f9-460a-a874-f19abb2e4501" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_ef4089f4-aa36-49ce-9806-068bb111dec1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_0d3c6ab6-f553-4a28-a74f-fb298010d8a8" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_ef4089f4-aa36-49ce-9806-068bb111dec1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_87c4f55e-cae5-454e-a552-917418d3eb8a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_0d3c6ab6-f553-4a28-a74f-fb298010d8a8" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_87c4f55e-cae5-454e-a552-917418d3eb8a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion_11805cdc-b2d0-4410-b1be-f7ff766af61b" xlink:href="appf-20210630.xsd#appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_0d3c6ab6-f553-4a28-a74f-fb298010d8a8" xlink:to="loc_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion_11805cdc-b2d0-4410-b1be-f7ff766af61b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionTable_23525736-daf7-4978-b0c8-0b612a7bd347" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeLeaseDescriptionTable"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_9d137214-ad6a-4c02-a81d-8712e91673ac" xlink:to="loc_us-gaap_LesseeLeaseDescriptionTable_23525736-daf7-4978-b0c8-0b612a7bd347" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_52f64c3a-8582-447c-a163-566028c42c30" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BalanceSheetLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_23525736-daf7-4978-b0c8-0b612a7bd347" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_52f64c3a-8582-447c-a163-566028c42c30" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_4036bf3c-ccae-4805-9cdf-a5f915fdf9fa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_52f64c3a-8582-447c-a163-566028c42c30" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_4036bf3c-ccae-4805-9cdf-a5f915fdf9fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_57d85cb3-cbdf-4012-9ad7-907148ceb353" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_4036bf3c-ccae-4805-9cdf-a5f915fdf9fa" xlink:to="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_57d85cb3-cbdf-4012-9ad7-907148ceb353" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionLineItems_12c41fb9-36ca-4e90-a845-bc5a5089a1bf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeLeaseDescriptionLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_23525736-daf7-4978-b0c8-0b612a7bd347" xlink:to="loc_us-gaap_LesseeLeaseDescriptionLineItems_12c41fb9-36ca-4e90-a845-bc5a5089a1bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LesseeOperatingLeaseTenantAllowanceRemainderOfFiscalYear_580a97e1-bfd3-4ec1-ab32-3eb21d1f804c" xlink:href="appf-20210630.xsd#appf_LesseeOperatingLeaseTenantAllowanceRemainderOfFiscalYear"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_12c41fb9-36ca-4e90-a845-bc5a5089a1bf" xlink:to="loc_appf_LesseeOperatingLeaseTenantAllowanceRemainderOfFiscalYear_580a97e1-bfd3-4ec1-ab32-3eb21d1f804c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LesseeOperatingLeaseTenantAllowanceYearOne_2e322a46-2769-4b35-b944-ccb0a931d2e2" xlink:href="appf-20210630.xsd#appf_LesseeOperatingLeaseTenantAllowanceYearOne"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_12c41fb9-36ca-4e90-a845-bc5a5089a1bf" xlink:to="loc_appf_LesseeOperatingLeaseTenantAllowanceYearOne_2e322a46-2769-4b35-b944-ccb0a931d2e2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LesseeOperatingLeaseTenantAllowanceYearTwo_fea429cf-a227-4f6d-975c-19ca65d95dc3" xlink:href="appf-20210630.xsd#appf_LesseeOperatingLeaseTenantAllowanceYearTwo"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_12c41fb9-36ca-4e90-a845-bc5a5089a1bf" xlink:to="loc_appf_LesseeOperatingLeaseTenantAllowanceYearTwo_fea429cf-a227-4f6d-975c-19ca65d95dc3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LesseeOperatingLeaseTenantAllowanceYearThree_e970b768-13de-4bc4-872b-c7fb7cbf9b4c" xlink:href="appf-20210630.xsd#appf_LesseeOperatingLeaseTenantAllowanceYearThree"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_12c41fb9-36ca-4e90-a845-bc5a5089a1bf" xlink:to="loc_appf_LesseeOperatingLeaseTenantAllowanceYearThree_e970b768-13de-4bc4-872b-c7fb7cbf9b4c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_c96c0805-40d8-4e76-a26b-ec8ce769e268" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_12c41fb9-36ca-4e90-a845-bc5a5089a1bf" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_c96c0805-40d8-4e76-a26b-ec8ce769e268" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails_1" xlink:type="simple" xlink:href="appf-20210630.xsd#LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails_1"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails_1" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/CommitmentsandContingencies" xlink:type="simple" xlink:href="appf-20210630.xsd#CommitmentsandContingencies"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/CommitmentsandContingencies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_b910565c-7169-4649-af29-1ec0717ea252" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_c129e68b-cb71-48ea-a640-be7651fb2d4b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_b910565c-7169-4649-af29-1ec0717ea252" xlink:to="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_c129e68b-cb71-48ea-a640-be7651fb2d4b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CommitmentsandContingenciesDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#CommitmentsandContingenciesDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/CommitmentsandContingenciesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_e4541473-c7a5-494f-8f8b-0fcab157c018" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingenciesTable_34b6a644-88ef-4152-8ab2-32f1fe046ec2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LossContingenciesTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_e4541473-c7a5-494f-8f8b-0fcab157c018" xlink:to="loc_us-gaap_LossContingenciesTable_34b6a644-88ef-4152-8ab2-32f1fe046ec2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_49f34b55-a595-40a1-b40a-0c7e08186b15" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BalanceSheetLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesTable_34b6a644-88ef-4152-8ab2-32f1fe046ec2" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_49f34b55-a595-40a1-b40a-0c7e08186b15" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_61b5755d-b1e1-4ca4-952f-a0fb75ec4a6f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_49f34b55-a595-40a1-b40a-0c7e08186b15" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_61b5755d-b1e1-4ca4-952f-a0fb75ec4a6f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherCurrentLiabilitiesMember_85e528ab-0d9b-4988-9cf8-00d3f3245ced" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherCurrentLiabilitiesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_61b5755d-b1e1-4ca4-952f-a0fb75ec4a6f" xlink:to="loc_us-gaap_OtherCurrentLiabilitiesMember_85e528ab-0d9b-4988-9cf8-00d3f3245ced" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherCurrentAssetsMember_f4030d3d-fc0e-4b3b-ba57-5c8d2958b14a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherCurrentAssetsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_61b5755d-b1e1-4ca4-952f-a0fb75ec4a6f" xlink:to="loc_us-gaap_OtherCurrentAssetsMember_f4030d3d-fc0e-4b3b-ba57-5c8d2958b14a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingenciesLineItems_3d21855e-1f5f-4819-a162-81bd5b87a0d7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LossContingenciesLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesTable_34b6a644-88ef-4152-8ab2-32f1fe046ec2" xlink:to="loc_us-gaap_LossContingenciesLineItems_3d21855e-1f5f-4819-a162-81bd5b87a0d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit_87147122-cf7b-4d86-8943-56336f309633" xlink:href="appf-20210630.xsd#appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesLineItems_3d21855e-1f5f-4819-a162-81bd5b87a0d7" xlink:to="loc_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit_87147122-cf7b-4d86-8943-56336f309633" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage_25a90dfe-58cc-45ea-b4fb-5ff144e43b84" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesLineItems_3d21855e-1f5f-4819-a162-81bd5b87a0d7" xlink:to="loc_us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage_25a90dfe-58cc-45ea-b4fb-5ff144e43b84" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability_7f35929a-da84-45c0-a49b-67289b6d275a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesLineItems_3d21855e-1f5f-4819-a162-81bd5b87a0d7" xlink:to="loc_us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability_7f35929a-da84-45c0-a49b-67289b6d275a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices_4fec7da4-6dc0-4910-98de-3e1c03c065b1" xlink:href="appf-20210630.xsd#appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesLineItems_3d21855e-1f5f-4819-a162-81bd5b87a0d7" xlink:to="loc_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices_4fec7da4-6dc0-4910-98de-3e1c03c065b1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/ShareRepurchaseProgram" xlink:type="simple" xlink:href="appf-20210630.xsd#ShareRepurchaseProgram"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/ShareRepurchaseProgram" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_bc3d7149-cf16-44d5-9a4b-29d3bbed49e6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_383c91f3-805d-4ca4-847e-80b370703469" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_bc3d7149-cf16-44d5-9a4b-29d3bbed49e6" xlink:to="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_383c91f3-805d-4ca4-847e-80b370703469" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/ShareRepurchaseProgramDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#ShareRepurchaseProgramDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/ShareRepurchaseProgramDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_fc8b2326-7ed4-4978-94b7-dd3daf8a9c04" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_658b8b60-f854-4ed7-9558-b916dc04c2d3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_fc8b2326-7ed4-4978-94b7-dd3daf8a9c04" xlink:to="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_658b8b60-f854-4ed7-9558-b916dc04c2d3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases_c16616a5-24c7-4632-8e38-5316473523ec" xlink:href="appf-20210630.xsd#appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_fc8b2326-7ed4-4978-94b7-dd3daf8a9c04" xlink:to="loc_appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases_c16616a5-24c7-4632-8e38-5316473523ec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockSharesAcquired_d89b1fcc-6db9-4b93-81e6-5f59a72c16f8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockSharesAcquired"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_fc8b2326-7ed4-4978-94b7-dd3daf8a9c04" xlink:to="loc_us-gaap_TreasuryStockSharesAcquired_d89b1fcc-6db9-4b93-81e6-5f59a72c16f8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValueAcquiredCostMethod_df0ce98f-e9e2-4936-835d-5946841e0977" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_fc8b2326-7ed4-4978-94b7-dd3daf8a9c04" xlink:to="loc_us-gaap_TreasuryStockValueAcquiredCostMethod_df0ce98f-e9e2-4936-835d-5946841e0977" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensation" xlink:type="simple" xlink:href="appf-20210630.xsd#StockBasedCompensation"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/StockBasedCompensation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_4309e57f-3464-4594-9b35-0ac87991adf0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_85b7cf79-888e-45b9-a907-ef77966aba93" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_4309e57f-3464-4594-9b35-0ac87991adf0" xlink:to="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_85b7cf79-888e-45b9-a907-ef77966aba93" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensationTables" xlink:type="simple" xlink:href="appf-20210630.xsd#StockBasedCompensationTables"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/StockBasedCompensationTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_3f9f9d17-83e2-49b3-b081-bdd17e5da891" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_0144e318-bdd4-442a-b4e3-9b4ca377f050" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_3f9f9d17-83e2-49b3-b081-bdd17e5da891" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_0144e318-bdd4-442a-b4e3-9b4ca377f050" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_7478c743-7d48-4ef4-9ebf-501899d5a429" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_3f9f9d17-83e2-49b3-b081-bdd17e5da891" xlink:to="loc_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_7478c743-7d48-4ef4-9ebf-501899d5a429" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_d4f1bde0-54bb-4c52-bfff-2ea773ffd035" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_3f9f9d17-83e2-49b3-b081-bdd17e5da891" xlink:to="loc_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_d4f1bde0-54bb-4c52-bfff-2ea773ffd035" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#StockBasedCompensationStockOptionActivityDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_93bbb036-3aed-4e7d-9d40-2dd6d958588f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_41d841f4-fdc0-4d32-9045-1fbbe5f33072" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_93bbb036-3aed-4e7d-9d40-2dd6d958588f" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_41d841f4-fdc0-4d32-9045-1fbbe5f33072" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_7b19e1bb-f568-4718-9e2f-76f5d513b2a0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_41d841f4-fdc0-4d32-9045-1fbbe5f33072" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_7b19e1bb-f568-4718-9e2f-76f5d513b2a0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_9e162c44-c04f-4ece-9506-7f21562b0045" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_41d841f4-fdc0-4d32-9045-1fbbe5f33072" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_9e162c44-c04f-4ece-9506-7f21562b0045" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_9cdafc40-4d67-4f60-aa3b-3c09b5228e32" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_41d841f4-fdc0-4d32-9045-1fbbe5f33072" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_9cdafc40-4d67-4f60-aa3b-3c09b5228e32" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_74d61c19-9a41-4797-a699-0f10de13d1e5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_41d841f4-fdc0-4d32-9045-1fbbe5f33072" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_74d61c19-9a41-4797-a699-0f10de13d1e5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_cd645271-06cd-4555-b886-59889085cc98" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_41d841f4-fdc0-4d32-9045-1fbbe5f33072" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_cd645271-06cd-4555-b886-59889085cc98" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_7e65a871-f942-48aa-a96a-d30524a0de59" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_41d841f4-fdc0-4d32-9045-1fbbe5f33072" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_7e65a871-f942-48aa-a96a-d30524a0de59" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_0b9c08b8-6a60-4d45-a7fd-441c82580147" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_7e65a871-f942-48aa-a96a-d30524a0de59" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_0b9c08b8-6a60-4d45-a7fd-441c82580147" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_65706a9b-f3b0-4a02-98e0-770a68899d48" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_7e65a871-f942-48aa-a96a-d30524a0de59" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_65706a9b-f3b0-4a02-98e0-770a68899d48" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_dd8a8d6b-e1da-48d2-8f8a-283d6580e9c6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_7e65a871-f942-48aa-a96a-d30524a0de59" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_dd8a8d6b-e1da-48d2-8f8a-283d6580e9c6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_d0f6c439-9847-4d2e-9975-3137ada2cf72" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_7e65a871-f942-48aa-a96a-d30524a0de59" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_d0f6c439-9847-4d2e-9975-3137ada2cf72" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_9b2cb7dd-28ca-44c5-988f-5634891428c2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_7e65a871-f942-48aa-a96a-d30524a0de59" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_9b2cb7dd-28ca-44c5-988f-5634891428c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_408204ae-7876-44ca-be5a-8878707d8e01" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_41d841f4-fdc0-4d32-9045-1fbbe5f33072" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_408204ae-7876-44ca-be5a-8878707d8e01" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#StockBasedCompensationRestrictedStockUnitsActivityDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_e9774e84-bf31-41b2-b5ca-0e88fb3151af" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_0855305d-4729-410e-bbe8-06d1aaf90942" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_e9774e84-bf31-41b2-b5ca-0e88fb3151af" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_0855305d-4729-410e-bbe8-06d1aaf90942" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_de227b64-03dd-4028-b174-ee97eff4c946" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_0855305d-4729-410e-bbe8-06d1aaf90942" xlink:to="loc_us-gaap_AwardTypeAxis_de227b64-03dd-4028-b174-ee97eff4c946" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1154aa23-2316-4a1c-9f09-b161691e9934" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_de227b64-03dd-4028-b174-ee97eff4c946" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1154aa23-2316-4a1c-9f09-b161691e9934" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_5ebbced8-a88c-4c81-85a8-f6e029226e75" xlink:href="appf-20210630.xsd#appf_RestrictedStockUnitsAndPerformanceStockUnitsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1154aa23-2316-4a1c-9f09-b161691e9934" xlink:to="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_5ebbced8-a88c-4c81-85a8-f6e029226e75" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_65371620-c5a2-456d-bde9-3dfb7b033f10" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_0855305d-4729-410e-bbe8-06d1aaf90942" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_65371620-c5a2-456d-bde9-3dfb7b033f10" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_c3b806df-45bf-4488-bd78-8e844f9a6e3a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_65371620-c5a2-456d-bde9-3dfb7b033f10" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_c3b806df-45bf-4488-bd78-8e844f9a6e3a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_55036693-3ceb-47c3-af32-e99e3af4eb48" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_c3b806df-45bf-4488-bd78-8e844f9a6e3a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_55036693-3ceb-47c3-af32-e99e3af4eb48" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_7aa59980-4549-4d02-a443-cb301c5e6a32" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_c3b806df-45bf-4488-bd78-8e844f9a6e3a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_7aa59980-4549-4d02-a443-cb301c5e6a32" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_101dbbbb-8814-4d51-a7a5-f862742471eb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_c3b806df-45bf-4488-bd78-8e844f9a6e3a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_101dbbbb-8814-4d51-a7a5-f862742471eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_2dc93495-a094-4231-914b-9d7b1ef59406" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_c3b806df-45bf-4488-bd78-8e844f9a6e3a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_2dc93495-a094-4231-914b-9d7b1ef59406" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_ddaea853-36c1-40c4-afbb-c41f6b92a8aa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_c3b806df-45bf-4488-bd78-8e844f9a6e3a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_ddaea853-36c1-40c4-afbb-c41f6b92a8aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_1f3cb401-07a6-4ed4-a62e-d77d0060c012" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_65371620-c5a2-456d-bde9-3dfb7b033f10" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_1f3cb401-07a6-4ed4-a62e-d77d0060c012" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_61be8327-6965-40f2-92de-e1165bfb2bd6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_1f3cb401-07a6-4ed4-a62e-d77d0060c012" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_61be8327-6965-40f2-92de-e1165bfb2bd6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_f432afac-2ad1-4394-aefd-eb3190499002" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_1f3cb401-07a6-4ed4-a62e-d77d0060c012" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_f432afac-2ad1-4394-aefd-eb3190499002" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_e85c7b47-50df-4865-ac9b-7d2696b83299" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_1f3cb401-07a6-4ed4-a62e-d77d0060c012" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_e85c7b47-50df-4865-ac9b-7d2696b83299" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_d6da47b9-a383-43f7-ab7b-93d48afdb651" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_1f3cb401-07a6-4ed4-a62e-d77d0060c012" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_d6da47b9-a383-43f7-ab7b-93d48afdb651" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_838c8f59-793a-465a-bab6-ad54829af36e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_1f3cb401-07a6-4ed4-a62e-d77d0060c012" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_838c8f59-793a-465a-bab6-ad54829af36e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#StockBasedCompensationRestrictedStockUnitsDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_d9e0b0d4-466d-4b07-a30d-a4ffdad015b6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_4595ec81-b2e2-482c-ba0d-7ff62d4c8156" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_d9e0b0d4-466d-4b07-a30d-a4ffdad015b6" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_4595ec81-b2e2-482c-ba0d-7ff62d4c8156" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_9d07d4a4-fd44-4cf1-b806-168c436ac981" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_4595ec81-b2e2-482c-ba0d-7ff62d4c8156" xlink:to="loc_us-gaap_AwardTypeAxis_9d07d4a4-fd44-4cf1-b806-168c436ac981" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f7d81c8e-1192-43f6-972a-30fc9ece4a75" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_9d07d4a4-fd44-4cf1-b806-168c436ac981" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f7d81c8e-1192-43f6-972a-30fc9ece4a75" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_208853a5-786c-4f45-a293-b2f444d59911" xlink:href="appf-20210630.xsd#appf_RestrictedStockUnitsAndPerformanceStockUnitsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f7d81c8e-1192-43f6-972a-30fc9ece4a75" xlink:to="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_208853a5-786c-4f45-a293-b2f444d59911" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_fd2bfff4-9e24-4fef-adb5-27dbae97afba" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_208853a5-786c-4f45-a293-b2f444d59911" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_fd2bfff4-9e24-4fef-adb5-27dbae97afba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsMember_7186eb46-c141-4040-be4f-29a0e456e42d" xlink:href="appf-20210630.xsd#appf_PerformanceStockUnitsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_208853a5-786c-4f45-a293-b2f444d59911" xlink:to="loc_appf_PerformanceStockUnitsMember_7186eb46-c141-4040-be4f-29a0e456e42d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsGrantedIn2021Member_c41a170d-1773-4175-8520-d5be925286fa" xlink:href="appf-20210630.xsd#appf_PerformanceStockUnitsGrantedIn2021Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_appf_PerformanceStockUnitsMember_7186eb46-c141-4040-be4f-29a0e456e42d" xlink:to="loc_appf_PerformanceStockUnitsGrantedIn2021Member_c41a170d-1773-4175-8520-d5be925286fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsGrantedIn2020Member_21c9cf29-ae6d-4777-b311-c5bda8796918" xlink:href="appf-20210630.xsd#appf_PerformanceStockUnitsGrantedIn2020Member"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_appf_PerformanceStockUnitsMember_7186eb46-c141-4040-be4f-29a0e456e42d" xlink:to="loc_appf_PerformanceStockUnitsGrantedIn2020Member_21c9cf29-ae6d-4777-b311-c5bda8796918" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsGrantedin2019Member_d4930ada-15d7-4053-8345-237b9a099b39" xlink:href="appf-20210630.xsd#appf_PerformanceStockUnitsGrantedin2019Member"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_appf_PerformanceStockUnitsMember_7186eb46-c141-4040-be4f-29a0e456e42d" xlink:to="loc_appf_PerformanceStockUnitsGrantedin2019Member_d4930ada-15d7-4053-8345-237b9a099b39" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsGrantedin2018Member_edc12343-401d-4f67-a00b-bc47dad2a33c" xlink:href="appf-20210630.xsd#appf_PerformanceStockUnitsGrantedin2018Member"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_appf_PerformanceStockUnitsMember_7186eb46-c141-4040-be4f-29a0e456e42d" xlink:to="loc_appf_PerformanceStockUnitsGrantedin2018Member_edc12343-401d-4f67-a00b-bc47dad2a33c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsGrantedin2019and2018Member_1f45824e-49f8-430e-8ae9-65efebf17fd5" xlink:href="appf-20210630.xsd#appf_PerformanceStockUnitsGrantedin2019and2018Member"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_appf_PerformanceStockUnitsMember_7186eb46-c141-4040-be4f-29a0e456e42d" xlink:to="loc_appf_PerformanceStockUnitsGrantedin2019and2018Member_1f45824e-49f8-430e-8ae9-65efebf17fd5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_c6127567-1d18-4943-b2c0-7b4a4785e3b4" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_4595ec81-b2e2-482c-ba0d-7ff62d4c8156" xlink:to="loc_srt_RangeAxis_c6127567-1d18-4943-b2c0-7b4a4785e3b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_d9bd9464-fa47-4bf7-85ad-5b459a695cfe" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_c6127567-1d18-4943-b2c0-7b4a4785e3b4" xlink:to="loc_srt_RangeMember_d9bd9464-fa47-4bf7-85ad-5b459a695cfe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_f8b2a9d4-b976-47bc-884b-b006a89eb6fa" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_d9bd9464-fa47-4bf7-85ad-5b459a695cfe" xlink:to="loc_srt_MinimumMember_f8b2a9d4-b976-47bc-884b-b006a89eb6fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_ab10dcd7-d710-495d-bd1c-1ca1df85305a" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_d9bd9464-fa47-4bf7-85ad-5b459a695cfe" xlink:to="loc_srt_MaximumMember_ab10dcd7-d710-495d-bd1c-1ca1df85305a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingAxis_80f88833-ffb2-4857-9c3f-d6f5272f33c7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VestingAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_4595ec81-b2e2-482c-ba0d-7ff62d4c8156" xlink:to="loc_us-gaap_VestingAxis_80f88833-ffb2-4857-9c3f-d6f5272f33c7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain_8249af56-60b2-45e6-adc0-e082b2e1f66c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VestingDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingAxis_80f88833-ffb2-4857-9c3f-d6f5272f33c7" xlink:to="loc_us-gaap_VestingDomain_8249af56-60b2-45e6-adc0-e082b2e1f66c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_cb2bf530-7277-43bd-86f8-581aab4072a7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingDomain_8249af56-60b2-45e6-adc0-e082b2e1f66c" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_cb2bf530-7277-43bd-86f8-581aab4072a7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_1a9a4ea0-5c38-4f50-9ecc-5de691e7eec5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingDomain_8249af56-60b2-45e6-adc0-e082b2e1f66c" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_1a9a4ea0-5c38-4f50-9ecc-5de691e7eec5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheThreeMember_27c014ab-a4dc-4b45-a0f3-a78e26065237" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheThreeMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingDomain_8249af56-60b2-45e6-adc0-e082b2e1f66c" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheThreeMember_27c014ab-a4dc-4b45-a0f3-a78e26065237" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualAxis_69601015-b214-42ef-a3c8-88cb98aa94c9" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_4595ec81-b2e2-482c-ba0d-7ff62d4c8156" xlink:to="loc_srt_TitleOfIndividualAxis_69601015-b214-42ef-a3c8-88cb98aa94c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_877ce095-3e95-4236-8516-b9450bbc2680" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualAxis_69601015-b214-42ef-a3c8-88cb98aa94c9" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_877ce095-3e95-4236-8516-b9450bbc2680" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ExecutiveOfficerMember_9d375655-c3f5-4626-a01c-331399fc3add" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ExecutiveOfficerMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_877ce095-3e95-4236-8516-b9450bbc2680" xlink:to="loc_srt_ExecutiveOfficerMember_9d375655-c3f5-4626-a01c-331399fc3add" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_848f753f-2627-445b-90dd-5598468db676" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_4595ec81-b2e2-482c-ba0d-7ff62d4c8156" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_848f753f-2627-445b-90dd-5598468db676" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_a871a22f-c207-4a6d-923f-4220bbe5f5de" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_848f753f-2627-445b-90dd-5598468db676" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_a871a22f-c207-4a6d-923f-4220bbe5f5de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_d7c1b027-ec5a-4d63-9300-06ec119ce2d2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_848f753f-2627-445b-90dd-5598468db676" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_d7c1b027-ec5a-4d63-9300-06ec119ce2d2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric_99aeb09b-06d0-4dcc-a980-a48786ce94e9" xlink:href="appf-20210630.xsd#appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_848f753f-2627-445b-90dd-5598468db676" xlink:to="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric_99aeb09b-06d0-4dcc-a980-a48786ce94e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent_6bef0a1a-df43-44e2-9bf6-193bb9b02d15" xlink:href="appf-20210630.xsd#appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_848f753f-2627-445b-90dd-5598468db676" xlink:to="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent_6bef0a1a-df43-44e2-9bf6-193bb9b02d15" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_c164b664-9749-434b-88f2-0c7ecc45c69c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_848f753f-2627-445b-90dd-5598468db676" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_c164b664-9749-434b-88f2-0c7ecc45c69c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric_69459c81-141f-4a76-bbbc-4b0a478249df" xlink:href="appf-20210630.xsd#appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_848f753f-2627-445b-90dd-5598468db676" xlink:to="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric_69459c81-141f-4a76-bbbc-4b0a478249df" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets_3cba1242-aa4b-4180-a163-4d1346d5c61a" xlink:href="appf-20210630.xsd#appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_848f753f-2627-445b-90dd-5598468db676" xlink:to="loc_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets_3cba1242-aa4b-4180-a163-4d1346d5c61a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_56c02d4e-acaf-416a-b9bc-f1dcb1fea5bc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_848f753f-2627-445b-90dd-5598468db676" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_56c02d4e-acaf-416a-b9bc-f1dcb1fea5bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_9206a3cf-cde9-46cc-9fdd-964adc6e706a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_848f753f-2627-445b-90dd-5598468db676" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_9206a3cf-cde9-46cc-9fdd-964adc6e706a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_f7f68679-8bf4-43a9-9914-d5770e71bf8f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_848f753f-2627-445b-90dd-5598468db676" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_f7f68679-8bf4-43a9-9914-d5770e71bf8f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#StockBasedCompensationRestrictedStockAwardsDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_9f371fe3-fb00-477a-a658-42e57b708c6c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_0a346a10-417f-4fc3-bf08-f40ace5b29d8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_9f371fe3-fb00-477a-a658-42e57b708c6c" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_0a346a10-417f-4fc3-bf08-f40ace5b29d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_6059374d-986f-4968-9e9c-d313dede6b64" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_0a346a10-417f-4fc3-bf08-f40ace5b29d8" xlink:to="loc_us-gaap_AwardTypeAxis_6059374d-986f-4968-9e9c-d313dede6b64" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_3425b1aa-b755-4f1f-93a9-405aee7e4fdf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_6059374d-986f-4968-9e9c-d313dede6b64" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_3425b1aa-b755-4f1f-93a9-405aee7e4fdf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_c9927e59-4ab1-4390-87cb-9e86d8b1adb2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_3425b1aa-b755-4f1f-93a9-405aee7e4fdf" xlink:to="loc_us-gaap_RestrictedStockMember_c9927e59-4ab1-4390-87cb-9e86d8b1adb2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9843f6d2-b079-407a-9339-962c3b785126" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_0a346a10-417f-4fc3-bf08-f40ace5b29d8" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9843f6d2-b079-407a-9339-962c3b785126" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cd87421e-a351-4c02-a05b-423166dce9c4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9843f6d2-b079-407a-9339-962c3b785126" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cd87421e-a351-4c02-a05b-423166dce9c4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_5de1938e-f682-4e88-bd96-4807d4186db1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cd87421e-a351-4c02-a05b-423166dce9c4" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_5de1938e-f682-4e88-bd96-4807d4186db1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_79421b3e-70d0-4bf9-a798-459e32779bc9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cd87421e-a351-4c02-a05b-423166dce9c4" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_79421b3e-70d0-4bf9-a798-459e32779bc9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_85274a14-1f73-4e45-b910-50581e5d77c9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cd87421e-a351-4c02-a05b-423166dce9c4" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_85274a14-1f73-4e45-b910-50581e5d77c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_2d9f1d3e-9a5e-4687-bb30-614a71cd8c07" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cd87421e-a351-4c02-a05b-423166dce9c4" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_2d9f1d3e-9a5e-4687-bb30-614a71cd8c07" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_7e7a7b17-bebf-4620-b647-061ecd4e81e2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_cd87421e-a351-4c02-a05b-423166dce9c4" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_7e7a7b17-bebf-4620-b647-061ecd4e81e2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract_99b8c211-83c0-4424-8b86-0a5878000891" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9843f6d2-b079-407a-9339-962c3b785126" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract_99b8c211-83c0-4424-8b86-0a5878000891" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_1e1b3166-48a7-4e24-ba5d-aa36c59ceace" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract_99b8c211-83c0-4424-8b86-0a5878000891" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_1e1b3166-48a7-4e24-ba5d-aa36c59ceace" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_da6c85d0-dce2-4ba4-9a03-4f7b1a42f370" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract_99b8c211-83c0-4424-8b86-0a5878000891" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_da6c85d0-dce2-4ba4-9a03-4f7b1a42f370" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_98ca9761-b206-40b2-9504-c01e020d22d8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract_99b8c211-83c0-4424-8b86-0a5878000891" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_98ca9761-b206-40b2-9504-c01e020d22d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_e317b4b2-6855-4b2d-8861-46af9c6c71df" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract_99b8c211-83c0-4424-8b86-0a5878000891" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_e317b4b2-6855-4b2d-8861-46af9c6c71df" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_af15a3a3-4ca7-4fdf-8beb-7a0f8615e76a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract_99b8c211-83c0-4424-8b86-0a5878000891" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_af15a3a3-4ca7-4fdf-8beb-7a0f8615e76a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_2d6bb71b-174a-483c-918e-91b4f1cec2fc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9843f6d2-b079-407a-9339-962c3b785126" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_2d6bb71b-174a-483c-918e-91b4f1cec2fc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_0752b9c0-64d6-4c33-bf0b-2c1197c390c4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9843f6d2-b079-407a-9339-962c3b785126" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_0752b9c0-64d6-4c33-bf0b-2c1197c390c4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_b0c8d854-d102-412d-aa0d-150f0501a7e5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9843f6d2-b079-407a-9339-962c3b785126" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_b0c8d854-d102-412d-aa0d-150f0501a7e5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_27583bfc-a63a-4b2b-bd7e-827cc03e359d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9843f6d2-b079-407a-9339-962c3b785126" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_27583bfc-a63a-4b2b-bd7e-827cc03e359d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IncomeTaxes" xlink:type="simple" xlink:href="appf-20210630.xsd#IncomeTaxes"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/IncomeTaxes" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_d2dc3275-023c-48f9-943a-74dd263768ee" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock_cd593360-8734-43f7-97ac-a76f83aa76db" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_d2dc3275-023c-48f9-943a-74dd263768ee" xlink:to="loc_us-gaap_IncomeTaxDisclosureTextBlock_cd593360-8734-43f7-97ac-a76f83aa76db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IncomeTaxesDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#IncomeTaxesDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/IncomeTaxesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_ab75b585-5ee7-47bd-bd04-1cae129f56e4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_1fbdc15e-569f-4aff-b1e4-95cd153b9016" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_ab75b585-5ee7-47bd-bd04-1cae129f56e4" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_1fbdc15e-569f-4aff-b1e4-95cd153b9016" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_ffa616d5-51b1-4fb5-a34f-8bc82e27c32f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_ab75b585-5ee7-47bd-bd04-1cae129f56e4" xlink:to="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_ffa616d5-51b1-4fb5-a34f-8bc82e27c32f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/RevenueandOtherInformation" xlink:type="simple" xlink:href="appf-20210630.xsd#RevenueandOtherInformation"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/RevenueandOtherInformation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_14f8a65c-d75c-4af1-961b-81220cad7359" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_eb46f808-1408-4b8a-baef-cf453d539f1c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_14f8a65c-d75c-4af1-961b-81220cad7359" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_eb46f808-1408-4b8a-baef-cf453d539f1c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/RevenueandOtherInformationTables" xlink:type="simple" xlink:href="appf-20210630.xsd#RevenueandOtherInformationTables"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/RevenueandOtherInformationTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_ba45c281-95d6-46f1-845c-d7e447a0375b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTableTextBlock_23dfe1f5-1184-4046-9945-6e8fb7d36be0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_ba45c281-95d6-46f1-845c-d7e447a0375b" xlink:to="loc_us-gaap_DisaggregationOfRevenueTableTextBlock_23dfe1f5-1184-4046-9945-6e8fb7d36be0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/RevenueandOtherInformationDetails" xlink:type="simple" xlink:href="appf-20210630.xsd#RevenueandOtherInformationDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/RevenueandOtherInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_d1274e47-9219-4719-8b0e-78a3b5c3bd0b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_df9aaaac-f702-4267-8aad-41c9c3ea6d2a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_d1274e47-9219-4719-8b0e-78a3b5c3bd0b" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_df9aaaac-f702-4267-8aad-41c9c3ea6d2a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_e64b98aa-5947-4f5b-accb-45e828d0de89" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_df9aaaac-f702-4267-8aad-41c9c3ea6d2a" xlink:to="loc_srt_ProductOrServiceAxis_e64b98aa-5947-4f5b-accb-45e828d0de89" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_2719e8d3-5ab0-4815-896d-43940149bc9d" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_e64b98aa-5947-4f5b-accb-45e828d0de89" xlink:to="loc_srt_ProductsAndServicesDomain_2719e8d3-5ab0-4815-896d-43940149bc9d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CoreSolutionsMember_7a622e15-d45a-465b-b904-0d8cd56f77a7" xlink:href="appf-20210630.xsd#appf_CoreSolutionsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_2719e8d3-5ab0-4815-896d-43940149bc9d" xlink:to="loc_appf_CoreSolutionsMember_7a622e15-d45a-465b-b904-0d8cd56f77a7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ValuePlusServicesMember_fdee5206-1302-4a62-8409-c07454fca620" xlink:href="appf-20210630.xsd#appf_ValuePlusServicesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_2719e8d3-5ab0-4815-896d-43940149bc9d" xlink:to="loc_appf_ValuePlusServicesMember_fdee5206-1302-4a62-8409-c07454fca620" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_OtherServicesMember_a5b088d6-8466-470b-b250-4897433243ca" xlink:href="appf-20210630.xsd#appf_OtherServicesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_2719e8d3-5ab0-4815-896d-43940149bc9d" xlink:to="loc_appf_OtherServicesMember_a5b088d6-8466-470b-b250-4897433243ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_b459766c-b062-4369-a0ea-a3eff84ab8b0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_df9aaaac-f702-4267-8aad-41c9c3ea6d2a" xlink:to="loc_us-gaap_DisaggregationOfRevenueLineItems_b459766c-b062-4369-a0ea-a3eff84ab8b0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_23e02729-8e77-46a8-ae2c-fa9880b061f5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_b459766c-b062-4369-a0ea-a3eff84ab8b0" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_23e02729-8e77-46a8-ae2c-fa9880b061f5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_9a50786b-f27a-4d17-8646-396b3d5914bf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_b459766c-b062-4369-a0ea-a3eff84ab8b0" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_9a50786b-f27a-4d17-8646-396b3d5914bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<FILENAME>appf-20210630_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:appf="http://www.appfolio.com/20210630"
  xmlns:dei="http://xbrl.sec.gov/dei/2021"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2021-01-31"
  xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="appf-20210630.xsd" xlink:type="simple"/>
    <context id="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i9c0eb3051a5c499cad9f62bbdf17525f_I20210802">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-08-02</instant>
        </period>
    </context>
    <context id="i1965eb36c0254907b14eb2c3d7b8e012_I20210802">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-08-02</instant>
        </period>
    </context>
    <context id="i49a83278583a4fd3a93151bd1e49d10e_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i30100f93f54b4462aecab412e968bd6f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i59ac7f950e9845f4a8c5cf34ace3451f_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i266df8e2ba744fe9beac4c225c6c8da4_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i53002aca9c784ed588ff49f4e0d9dc44_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iab4cd7e76c714310a83d639b192c1c28_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="iadafe23d8a674865ac16ded0dd992701_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i36d2ff2f3c4f4972993d5cbc515e2e58_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="if8563cf58925411fab60663753d84d5a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i7a1dda38688549b3a694c01a41649bcb_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i36838ad0aa9e42bc8d336aeebe97d3b3_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="id26b681fd07d4da1926257554782cea3_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ie626ef575f8648359688670c77022114_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i0d699ee7e10b429ba9cda7689caf4ce7_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="iebb5837e5b9a487b8ca7baac6916b06b_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i1fc1c5e7ccfe43588b2edf253fe8de00_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i16d67d5033744b9e924767350d564ee0_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="ib2fce70f815f4f1686ebac5c115cfe5b_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i2f93918e87a74100929771acd285b138_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i1d6cf4a9587a4a2386c918a0c39d0c0e_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="idcda3eedde3b44d0852f60b88fd06383_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="ia4550210957b49e0b4f3d48d73e71851_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="ia39cc8333f4d409291e8d684b18fe62f_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i767e759cac2e4948b76efad220fc1043_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i951e690537cd4f74905f8f057b259fba_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i688a96cc0fa64690b5f01603ed62fb6d_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i5f78a4b6c4ba4096845c1f93d1947e15_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="idac8d27a9ec4465ba13547966661b07d_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i34ff8464d68c4b41b9cdd07a425b9688_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i1576f7b1a14947119362008901a8a59d_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="iea93ba2a4e8d4bda904b7596eba42bd4_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="id5c0c1c439054b18b1c35b41de34da49_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i89417483569f4f3f93b94fecad35c667_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="id1c61cbee6fe4c9ea24bbe2a152a41e0_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i4da7eb8f55e84c2196ef7a2591b3af44_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ie34ebf95970749fcb59d06facf20b7ed_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ie71946e53a9141c2985262e73f21d211_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ia273b335fdc34a00b7391ca01d20930c_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i95fe3b7512dc4aea8492ab7094c19fba_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ib8d1090c69c54463bf96403d5d680915_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="iecd37b0440934f2e973412c6e7ff378e_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i9a3f8e84d0a84915b5c2f575445318bb_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i473e347ebb55401dbe2a6897a4960ac2_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="if527286e411c499c8fa3f829e9f8f1a5_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i9a77525dc55446f485f3031569489596_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="ie12b07a296d44bc8bf5867ead97026a9_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="id47cc0b87fcc4a55864b665cf98fa38f_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i855304e84fd545f49dfc0cb3cdff89c7_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i35f2c1d7a83a46768e2024796d1d6c1a_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="id9d4e831a6ac423ea3aa3bcf5feca1c6_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="ia85a1f2e921d4265a9cc9d099db97606_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i457171b76e044c8fba5f470457019be9_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i87a02771c61f4dd9a752778100df2f07_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i0900b5202d9047f697cded080df512f8_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="ia15e38c402a441579cb08c945f46e4c8_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i3e68eab6c9ae45ff807d53b070357da1_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i274be8f03a0f4a2fb24c52b61b7e4c5d_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i56ec066694d84fa08df38cbfe9d800a8_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i8a4b27fb1f47494f9780a3c635177b5f_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i527030bb95f64d4895deefedbb80e718_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i87ccda2d238e43089e7b3dbbcb3b9459_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i1b127436d3594dfeabed2fd67aa687fa_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i721e90dffc76488889c8a058865d8e39_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="i7e8708cf3bfd4ba0ba4fd7adf2ad2263_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="i61e3fa5e6e8b4fc0b24d94bcf00a52fb_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="i7298f901442042a5b2a441bdb590f938_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="i66bc4798416b40a8a5c388e071ab0c14_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="i7cf590c47d5e47189e9e02c7c5d87fc2_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="i988c1fbc446e44d2bab95dfcf6db2d16_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="i90b2071de2174e32a7146ce1f7bac234_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ibf594887c7584e618bd23b7fc1ac52bf_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="iac83eee40e9f496bab5e9fbd3730502a_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i135d0ebcf8b244328b43951145b259a5_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i33d25f7a5d2e44dcb8c9b0bef0ed6980_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">appf:MyCaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i367df11d249b4cd8a30f0f498809caba_D20200930-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">appf:MyCaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-09-30</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i774464bfa41c4674b475cede92673cb1_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">appf:MyCaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i48eeacffc6e94a0085458e1b4f4a735f_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">appf:MyCaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i56da3fb104fe42b1b4bfe3ac2a7f1b72_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i59308c55c45a45819932752a6679c2f8_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i76c46d72aba34616a1d425fd2bacd0aa_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ifded2f5021594db08f4bfac7b690d64a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i2b52b0811f374a53b8d2a892b133dfc5_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ic8f14e2f98b742f58bdddb87910e20b8_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i15965b74e12e4d52b0ad7e65bcb1590e_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ifd6c3f5409b64a248d76969a2be4df49_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ia9210dadeefa4ea087841f03e148956f_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i03f7fe5dce0a42979585fb88ef579614_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="if1a3a8dfcaaa46d0a0d29f9510a5adb4_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="id4e2074bc7a747a2a7487e7f6020cab0_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ie84087eb32e043b6bfc20bf40bbeae2d_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ie0cd6cfdbf9f43bcb0e19d05fae4f2be_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i60229432e790462faa0d63adc0e83c1a_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="id65b9b4251e44b7bb8d49cd0064fdc15_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i5a8a82b15b4a423f8b7c1a59f1d8cc57_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i49309abb3af2468e9b9000d272a77669_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i76fb3be8baa14e20970734c60a19ac99_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i45fe2184113b455d9d4ad00303c8d16e_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i66d4f2457f6843a0ab6253fc765946dd_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i4401a086f7114e7eadc2b001d40b948e_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i64b917f38ec14940aae1698f360bb899_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i8acd92a53c2d4294b14c6faeb99eb4fd_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ib7b0d9701a90489aad465dff0aee5c52_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i96549b25df1a4687811cab8c1e4f4d63_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i77eb2ce76e20402ba7123add4e588368_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i3c609665be4947caa0fe9cb67e97e9a3_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i97040d7de9894b019db7f54868216ae4_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="if6f84d063d944d4a8b642dfa61dc2000_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="id7db59f74e114595993689f8b7125d60_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i86d1e2dc88c549198359d092c9b8bc09_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ifebaf37c8a87482fa12c7b35a9c80a54_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ia3b151460d95496d824d89098946b105_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i2f03e80423374fada4ae43730a5134d9_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="idb9f22c643ff44cd96d09488f0644480_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i3a3a482479504793aec882f79422ac1a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="if6b73ff9cad64b4baa875541b4561bd5_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i923d4fcb79e945a1801a0d96a3188cab_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i11a4d8f2a6d54fb787677b4a13d36e00_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i4adf188b204d407ea51a500a7125bf44_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i84a071d649694a3a80fa9df5a64cd823_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i134d4bb8b10a422e8063af0b9f14da06_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="idaab8417abd04000b0340612e2aa6085_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i3e9e06d278ab4c9daaddb7ce9233ecc6_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ie794bb6c0c4a46489164eda61ea3f20d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i6e1dff00be534a8ba0adde1cc689e0e8_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i6dc28727b9244a9992ba6409a084cf54_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib1d362ca124e4762afce663c65356aa6_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="if9bb59d9275f4090944712f69e4fd78f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib8a8f4e1a99f4b7288fa9ec9396b98ca_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i155d2d5074374efba67d7af5a9ac3e5e_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ib858aa00e546448599decf06f685ad3d_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i9e7fdb5554da46988a3a0f3371e0aa5c_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:DatabaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i3b2f4973093744c1bfd87273ad71cc92_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:DatabaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ie203580e606943899a636f80165c475e_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:TechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ib81d6ea6ceb1404d8ea05be86c1fc3eb_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:TechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i4193ecb651234391ae468a7f18b8b331_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="iedf644a677e84d7fae1e8781e3314733_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i7651744100014d68bf62b3a26f203b6e_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:PartnerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i602451b4dc24438cb2e45ba6811665bf_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:PartnerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ide94822e72ae4e468937490e0999dae2_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i53f849b4b49a460eb652e8551bd8f121_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i044097dc58bd47e3b73af8d59084a762_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InternetDomainNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i6a950cc780a74990bc91e4ac162e9925_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InternetDomainNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i61cc8313c7364bb498d9909b794826c3_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i471c1922ad7744a29b1d425144c28d8a_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="idb86a52960d84a2581f27735f7fd916e_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i8c959351821a4d9f924811c4e8243e3d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i12d94561df5949ce90d9891ce2fb4953_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i1f52faf5c88c43859b448241b478899d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:DatabaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ie010e950e3c645448db010cdfde0d7a3_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:DatabaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iafb4b76941f54e54bbbfdb2ea1902274_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:TechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="if70c4fe2b6854e63b0b43982c8743f25_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:TechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if8190a6e76d34e7cb1113e0f29a2a802_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i0b758220edb54b67a3aad4e28a17a5ee_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i828519f92cdb4aaeb817676356d9cb6c_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:PartnerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="idff1f80f90c34bce942a834aec10e36d_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:PartnerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i9d2bf7c1de9f4a3b8034bbd7107c5012_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i5120c784cc0f4a0f830cf609ddd96d93_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i5643187a8c49426da72ed68edfabf4cd_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InternetDomainNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ieca3f4693e0d409c923775aea995c321_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InternetDomainNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i19195c794eee492ebbc960939682a61e_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ic5694ee27dc645a480865df6454ae8c3_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i6e2689eb8762402ca6f30d14a23935d2_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="id2f2903374cd498682a3d5c790913ad4_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">appf:A2021ThreeYearPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i2c13e8b1f351430284e5e679b6f2f767_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ib844e87bbafd437db894990bc302c955_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="id3c0695640ea4474b5f4c48be9cdd7a6_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ifbb8a31e296a4af2a6630486c728e36f_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i7d123251a4364ea8880da70fc7a7e68c_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="icede5472c35f45ddbe0e142de0f8dc18_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i0918a28f49634eba8a6c766b493cfbe3_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i388b9a53d8fa44df8128bd1247847647_I20190220">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2019-02-20</instant>
        </period>
    </context>
    <context id="i2a38e101cc82463e8b5f1c4dc7d24234_D20190220-20190220">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <startDate>2019-02-20</startDate>
            <endDate>2019-02-20</endDate>
        </period>
    </context>
    <context id="ifea9c8c7589a4777a3159cf7b213b956_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i3c25fe0841da49819791dd343a9c5659_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="if73f8d2ff84645ca8541f5301a92e2f2_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i699f3dc71634437eb8858caf1c82661a_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i457f02cd2d914bf59c65570233da2b87_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i23007c4cafad4bd2a3f9b26ea8da879e_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i83656486275448b3a66204f3c580163a_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i2d6a97c0822c4e15ad128f75c59e825d_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ic91bd014da1d407eaca3332829384002_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ibbd0f41c03504a048be7fad795dadfda_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i5ffc8f34903c4fe894858180fe4f3206_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i6514751087c5466089453746d851060f_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ic83befabe7bf4f44af62652615e60b9b_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i606f1774863e447e9211fb6f556eeb9b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i91064e19e59c4b3d820b48c855062288_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedIn2021Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i1c176b06ddb74554b4e6a488104f9a96_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedIn2020Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ib7ca62402e6d41f6b03da693b045b5ae_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i1316c7b18e1640938330bef65bd7614e_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i2d9ebfaac2e84921bc28d4fd332d5937_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ibe541b3721574d48ba2d793240749d44_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="id76e06168d524724ab555032a62fdbe0_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ie0a9682aee9d41a2a0b86cf23739d3b2_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i3b864c70c9d44f18bd49ccbae01e7a0a_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i3aed813ac95e4cf5b10ffb4678399a1e_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i8a6e99e34a0d4f8e9ddd483b0e2fb356_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i25251dcb9bed427785f73e74782d9ba9_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i1376ba33952141cabbc021cd6ef8653b_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ic1f50fce2ed546f2abc2a69a6027dc0e_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i9cdfea096b5b4cdeaa07a77cdafe7b17_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i0e5ec4fabfca4faf9653509aae963b7f_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i5fd43dec6fa644fb9846154e4e1a2403_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i0b07d8eecfa44616b63e0e4a9bf7a0c7_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i5f49e86785c9487b9d0bc7db6eba2827_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ibc8cc1f06fac4621bdbc5ec636ea6da1_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i1fa786168841439a93c8c2e916577768_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i9ea342cb717b486f9464c87038c11bfe_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i083be320e66b42978fe2513c9e065532_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ide895304836b4cb2ab577956c806111b_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ib29dfbc40149496bb48678d3d6aaed05_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:CoreSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i55cae2869a1b4c668533f888f18db521_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:CoreSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="iba5125b1e5b44561bdf592a85b5b11f1_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:CoreSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i6a1c13f61b5c40eab67e9f0a65914e9c_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:CoreSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i5c5daae44e0e4ef084495db2c88278fd_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:ValuePlusServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i003ee976ec8e49a3acc1bc3f86391e1a_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:ValuePlusServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ib2af20f788064359bfc915ec0e6a712a_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:ValuePlusServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i807085b8a7d049dfbe3bf64f96d51d6f_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:ValuePlusServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i4a660250c25148f694d3f8f14d0fc40e_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:OtherServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i365faf2b4c5746a1ad4487b3c4f6ec9c_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:OtherServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i4ab913e85b484589accbf624ed271341_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:OtherServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="if54140991131407ca66d98ec040d6ce2_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:OtherServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="usdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <unit id="director">
        <measure>appf:director</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80L2ZyYWc6Yjc4MDc4MDg0ZGI1NDkzOGFlMjk4ODk5MWJjZDYzNDkvdGFibGU6MTNiNjRjOTFkMjJjNGI2Zjg5ZTFkNGFiMmUyMGQ4NTkvdGFibGVyYW5nZToxM2I2NGM5MWQyMmM0YjZmODllMWQ0YWIyZTIwZDg1OV8yLTEtMS0xLTA_c6dafa3b-4d90-42d4-a7fe-5ad9dcb7da28">0001433195</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80L2ZyYWc6Yjc4MDc4MDg0ZGI1NDkzOGFlMjk4ODk5MWJjZDYzNDkvdGFibGU6MTNiNjRjOTFkMjJjNGI2Zjg5ZTFkNGFiMmUyMGQ4NTkvdGFibGVyYW5nZToxM2I2NGM5MWQyMmM0YjZmODllMWQ0YWIyZTIwZDg1OV8zLTEtMS0xLTA_86d30b9c-ba8b-43a8-bb37-3a463c6b1d98">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80L2ZyYWc6Yjc4MDc4MDg0ZGI1NDkzOGFlMjk4ODk5MWJjZDYzNDkvdGFibGU6MTNiNjRjOTFkMjJjNGI2Zjg5ZTFkNGFiMmUyMGQ4NTkvdGFibGVyYW5nZToxM2I2NGM5MWQyMmM0YjZmODllMWQ0YWIyZTIwZDg1OV83LTEtMS0xLTA_6d7a7cdb-af27-4cfb-b3dd-a469f306b02f">2021</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80L2ZyYWc6Yjc4MDc4MDg0ZGI1NDkzOGFlMjk4ODk5MWJjZDYzNDkvdGFibGU6MTNiNjRjOTFkMjJjNGI2Zjg5ZTFkNGFiMmUyMGQ4NTkvdGFibGVyYW5nZToxM2I2NGM5MWQyMmM0YjZmODllMWQ0YWIyZTIwZDg1OV84LTEtMS0xLTA_398ecd45-d709-497f-bf25-f0063f5a3430">Q2</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80L2ZyYWc6Yjc4MDc4MDg0ZGI1NDkzOGFlMjk4ODk5MWJjZDYzNDkvdGFibGU6MTNiNjRjOTFkMjJjNGI2Zjg5ZTFkNGFiMmUyMGQ4NTkvdGFibGVyYW5nZToxM2I2NGM5MWQyMmM0YjZmODllMWQ0YWIyZTIwZDg1OV85LTEtMS0xLTA_4f53f02f-c7fa-4631-b947-06786007b392">false</dei:AmendmentFlag>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i2c13e8b1f351430284e5e679b6f2f767_I20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RleHRyZWdpb246M2I3MTQ3NmVhZWIyNDFlY2JjZjQ2NDI4OTkyYTY0ZjBfOTg_4c29c6f1-62ae-4f47-8c0d-6b3cfa00e05b">P1Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfNi0wLTEtMS0w_58f37670-ee5b-48fa-adbf-a9b8ba85689b">http://fasb.org/us-gaap/2021-01-31#OtherLiabilitiesCurrent</us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfNi0wLTEtMS0w_80e2d195-6079-4671-9e00-2846107801df">http://fasb.org/us-gaap/2021-01-31#OtherLiabilitiesCurrent</us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <dei:DocumentType
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGV4dHJlZ2lvbjo1Mzg1YTY2Y2U2ZTU0N2RmYjBjOGZiZmFjMmZkNmY4M18yMzIx_1b4a8a2a-e69d-4398-a843-79c22e85d783">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGV4dHJlZ2lvbjo1Mzg1YTY2Y2U2ZTU0N2RmYjBjOGZiZmFjMmZkNmY4M18yMzE4_9d1fe31c-2c35-4ad7-97b9-594ed4e584b2">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGV4dHJlZ2lvbjo1Mzg1YTY2Y2U2ZTU0N2RmYjBjOGZiZmFjMmZkNmY4M18xMDk5NTExNjMwMTM0_b2155b84-58de-4083-824d-2af544a1c6c8">2021-06-30</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGV4dHJlZ2lvbjo1Mzg1YTY2Y2U2ZTU0N2RmYjBjOGZiZmFjMmZkNmY4M18yMzIy_75522909-7195-41a2-a985-57ca4dd5cf2f">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGV4dHJlZ2lvbjo1Mzg1YTY2Y2U2ZTU0N2RmYjBjOGZiZmFjMmZkNmY4M18yMzIz_94ec995b-1acc-445c-a4ba-6b5ac88d9950">001-37468</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGV4dHJlZ2lvbjo1Mzg1YTY2Y2U2ZTU0N2RmYjBjOGZiZmFjMmZkNmY4M18yMzE5_b4a1cfdf-1292-46d6-b2d7-5b8c709d3288">AppFolio, Inc.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGFibGU6OTdlOTNiNTZlYjIzNDY1NTg5NTk0NWQwM2ZhY2U2MmEvdGFibGVyYW5nZTo5N2U5M2I1NmViMjM0NjU1ODk1OTQ1ZDAzZmFjZTYyYV8wLTAtMS0xLTA_b2d90fea-ea39-4ffa-836a-137a89c25a3b">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGFibGU6OTdlOTNiNTZlYjIzNDY1NTg5NTk0NWQwM2ZhY2U2MmEvdGFibGVyYW5nZTo5N2U5M2I1NmViMjM0NjU1ODk1OTQ1ZDAzZmFjZTYyYV8wLTQtMS0xLTA_d2f63a6d-4cf0-4408-a5a3-d05814fce5d6">26-0359894</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGFibGU6OTdlOTNiNTZlYjIzNDY1NTg5NTk0NWQwM2ZhY2U2MmEvdGFibGVyYW5nZTo5N2U5M2I1NmViMjM0NjU1ODk1OTQ1ZDAzZmFjZTYyYV8zLTAtMS0xLTA_698b1fd8-20ad-42a1-8930-4507c1a704ac">50 Castilian Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressPostalZipCode
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGFibGU6OTdlOTNiNTZlYjIzNDY1NTg5NTk0NWQwM2ZhY2U2MmEvdGFibGVyYW5nZTo5N2U5M2I1NmViMjM0NjU1ODk1OTQ1ZDAzZmFjZTYyYV8zLTQtMS0xLTA_98eeb574-aba9-40ea-8e6f-7e46d81d9afd">93117</dei:EntityAddressPostalZipCode>
    <dei:EntityAddressCityOrTown
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGFibGU6OTdlOTNiNTZlYjIzNDY1NTg5NTk0NWQwM2ZhY2U2MmEvdGFibGVyYW5nZTo5N2U5M2I1NmViMjM0NjU1ODk1OTQ1ZDAzZmFjZTYyYV80LTAtMS0xLTA_efda4309-2b41-4167-8079-2d2c85932f30">Santa Barbara,</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGFibGU6OTdlOTNiNTZlYjIzNDY1NTg5NTk0NWQwM2ZhY2U2MmEvdGFibGVyYW5nZTo5N2U5M2I1NmViMjM0NjU1ODk1OTQ1ZDAzZmFjZTYyYV80LTItMS0xLTA_875677e9-d3a4-4f98-bc7f-1f8d65f14d5b">CA</dei:EntityAddressStateOrProvince>
    <dei:CityAreaCode
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGV4dHJlZ2lvbjo1Mzg1YTY2Y2U2ZTU0N2RmYjBjOGZiZmFjMmZkNmY4M18yMzI0_60085cd5-441f-4bac-a0e2-bcc6655f6542">805</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGV4dHJlZ2lvbjo1Mzg1YTY2Y2U2ZTU0N2RmYjBjOGZiZmFjMmZkNmY4M18yMzIw_8e21bf72-ead6-4dd9-a381-49f55343cb7f">364-6093</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGFibGU6N2U2ZmZlYmI0MWYxNGViMWJmZjFiMjgzZTA5NjlkN2EvdGFibGVyYW5nZTo3ZTZmZmViYjQxZjE0ZWIxYmZmMWIyODNlMDk2OWQ3YV8xLTAtMS0xLTA_524806a3-f39f-43ee-8f23-d3386ee0dc81">Class A Common Stock, $0.0001 par value</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGFibGU6N2U2ZmZlYmI0MWYxNGViMWJmZjFiMjgzZTA5NjlkN2EvdGFibGVyYW5nZTo3ZTZmZmViYjQxZjE0ZWIxYmZmMWIyODNlMDk2OWQ3YV8xLTEtMS0xLTA_0b1eef50-cb8a-492f-a79d-e00c098a344f">APPF</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGFibGU6N2U2ZmZlYmI0MWYxNGViMWJmZjFiMjgzZTA5NjlkN2EvdGFibGVyYW5nZTo3ZTZmZmViYjQxZjE0ZWIxYmZmMWIyODNlMDk2OWQ3YV8xLTItMS0xLTA_76f1d7e2-9979-4105-a8df-7625bb4d7620">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGV4dHJlZ2lvbjo1Mzg1YTY2Y2U2ZTU0N2RmYjBjOGZiZmFjMmZkNmY4M18yMzI1_55446e73-9c56-4bee-bc99-ac9834760c39">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGV4dHJlZ2lvbjo1Mzg1YTY2Y2U2ZTU0N2RmYjBjOGZiZmFjMmZkNmY4M18yMzI2_8f4ffc72-7d10-4095-8753-7dba436e9681">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGFibGU6ZDE4MWY0NTdmZjMyNDJiN2E1OTZmZGI4ZTJjMDdjMzYvdGFibGVyYW5nZTpkMTgxZjQ1N2ZmMzI0MmI3YTU5NmZkYjhlMmMwN2MzNl8wLTAtMS0xLTA_308c42de-e01e-40e7-a68e-3e873f1a504a">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGFibGU6ZDE4MWY0NTdmZjMyNDJiN2E1OTZmZGI4ZTJjMDdjMzYvdGFibGVyYW5nZTpkMTgxZjQ1N2ZmMzI0MmI3YTU5NmZkYjhlMmMwN2MzNl8yLTUtMS0xLTA_792fc750-439b-401f-b5db-9b779bffa62b">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGFibGU6ZDE4MWY0NTdmZjMyNDJiN2E1OTZmZGI4ZTJjMDdjMzYvdGFibGVyYW5nZTpkMTgxZjQ1N2ZmMzI0MmI3YTU5NmZkYjhlMmMwN2MzNl80LTUtMS0xLTA_98ddefcd-3b84-43b7-a9e7-3546581c54c8">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGV4dHJlZ2lvbjo1Mzg1YTY2Y2U2ZTU0N2RmYjBjOGZiZmFjMmZkNmY4M18yMzI3_724ff965-1b01-4fa4-a911-9ffe78a735e5">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="i9c0eb3051a5c499cad9f62bbdf17525f_I20210802"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGV4dHJlZ2lvbjo1Mzg1YTY2Y2U2ZTU0N2RmYjBjOGZiZmFjMmZkNmY4M18yMjMx_32cd2b5c-dd91-46d4-9444-a1067fe84c90"
      unitRef="shares">18991205</dei:EntityCommonStockSharesOutstanding>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="i1965eb36c0254907b14eb2c3d7b8e012_I20210802"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xL2ZyYWc6NTM4NWE2NmNlNmU1NDdkZmIwYzhmYmZhYzJmZDZmODMvdGV4dHJlZ2lvbjo1Mzg1YTY2Y2U2ZTU0N2RmYjBjOGZiZmFjMmZkNmY4M18yMzE2_b94a2d72-b729-4080-85a1-5d054adcde0c"
      unitRef="shares">15620784</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMy0yLTEtMS0w_c8b0fd7e-9136-44ec-b132-c60b87c96ab6"
      unitRef="usd">48610000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMy00LTEtMS0w_67e72a54-740e-4feb-b73f-175540903491"
      unitRef="usd">140263000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNC0yLTEtMS0w_1430c271-40c7-4534-b843-617ed8a79194"
      unitRef="usd">102978000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNC00LTEtMS0w_3c0e6012-e150-4038-8f22-274396429ba9"
      unitRef="usd">28256000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNS0yLTEtMS0w_37f012ef-417b-4d0d-9bd8-0be23a112941"
      unitRef="usd">14973000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNS00LTEtMS0w_fd764ecd-47ef-4570-b08e-32cd0ba585e5"
      unitRef="usd">10057000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNi0yLTEtMS0w_9d4a6fa3-cbfe-4162-b33a-532773c42865"
      unitRef="usd">23306000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNi00LTEtMS0w_1bd65e3b-1cc6-44b7-8bf8-d224ed60f823"
      unitRef="usd">20777000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNy0yLTEtMS0w_295afd6c-2928-42b0-bd5a-59a78df5546a"
      unitRef="usd">189867000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNy00LTEtMS0w_be8e1760-362d-454b-aa72-c89ec34b9efb"
      unitRef="usd">199353000</us-gaap:AssetsCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfOC0yLTEtMS0w_0f813150-7654-464c-8e7c-84aae8374b06"
      unitRef="usd">11541000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfOC00LTEtMS0w_e0caddbd-6521-4c5e-a882-c47cda8473be"
      unitRef="usd">6770000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfOS0yLTEtMS0w_49770db3-edf8-45b6-9bfd-b609d9d582f6"
      unitRef="usd">27324000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfOS00LTEtMS0w_ccd545e4-40ff-45d1-9a93-e69e549d5def"
      unitRef="usd">26439000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTAtMi0xLTEtMA_e2611f8d-d19e-4a54-916f-351741fc16c1"
      unitRef="usd">40983000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTAtNC0xLTEtMA_b1a3202a-d730-4b1b-b1e1-528997570610"
      unitRef="usd">30561000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:CapitalizedComputerSoftwareNet
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTEtMi0xLTEtMA_cce7037c-79ef-4ced-a7d9-086cb02d5ed2"
      unitRef="usd">39225000</us-gaap:CapitalizedComputerSoftwareNet>
    <us-gaap:CapitalizedComputerSoftwareNet
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTEtNC0xLTEtMA_4de26c11-a796-438e-8a98-8a0d3d00001d"
      unitRef="usd">35459000</us-gaap:CapitalizedComputerSoftwareNet>
    <us-gaap:Goodwill
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTItMi0xLTEtMA_e223c093-95e1-49ca-bda5-79756768214c"
      unitRef="usd">56147000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTItNC0xLTEtMA_7bb8f49e-9363-4e9e-badc-abdc6fe9583a"
      unitRef="usd">56147000</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTMtMi0xLTEtMA_e642e3bf-9d41-455c-8279-18c12d34b786"
      unitRef="usd">14017000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTMtNC0xLTEtMA_67cf6abe-e366-4335-9e07-05614faea451"
      unitRef="usd">16357000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTQtMi0xLTEtMA_0f8d9d85-a347-4b12-8871-1a510469f083"
      unitRef="usd">12774000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTQtNC0xLTEtMA_df8386d0-b313-4b0e-8244-b3c20502caa8"
      unitRef="usd">12181000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTUtMi0xLTEtMA_cb8aba75-556a-4855-8cac-7d6d80781c13"
      unitRef="usd">7194000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTUtNC0xLTEtMA_f17d1d4f-46ef-4240-a4c3-45240a2aec89"
      unitRef="usd">6213000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTYtMi0xLTEtMA_2cc9d19f-e850-4422-92f8-04a3863505d3"
      unitRef="usd">399072000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTYtNC0xLTEtMA_82b7431c-2923-4ca0-843f-e2db8a858d96"
      unitRef="usd">389480000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTktMi0xLTEtMA_18fc7f43-f9e8-4b1c-8b83-c764e70415b6"
      unitRef="usd">2411000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMTktNC0xLTEtMA_73f59fc4-17cb-4353-824a-01b001f529b7"
      unitRef="usd">1040000</us-gaap:AccountsPayableCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjAtMi0xLTEtMA_8aa38182-fd38-4038-ab31-2466c22d7843"
      unitRef="usd">27504000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjAtNC0xLTEtMA_18b9b08c-1c00-40d7-997e-0efd7696b95d"
      unitRef="usd">18888000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjEtMi0xLTEtMA_31b2e357-8d0e-460f-8d1e-250c694e4c64"
      unitRef="usd">11403000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjEtNC0xLTEtMA_10c86d18-c410-40ac-bec8-cfd5a08f50cd"
      unitRef="usd">14069000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjItMi0xLTEtMA_2edccc85-7b99-41ef-af37-20d565c03c7f"
      unitRef="usd">3205000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjItNC0xLTEtMA_20e06904-c9dd-4e93-bf88-d56d876d3569"
      unitRef="usd">2262000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjMtMi0xLTEtMA_722be9c4-515d-4e50-94a7-92acf5d6def1"
      unitRef="usd">66000</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjMtNC0xLTEtMA_52afe855-f6d7-42c4-8fe8-7a78b17e527b"
      unitRef="usd">9095000</us-gaap:TaxesPayableCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjQtMi0xLTEtMA_b0fc3fdf-3f44-4d45-acf5-59635f23b672"
      unitRef="usd">4196000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjQtNC0xLTEtMA_ba17b56a-45c2-424e-a918-d93d658460b1"
      unitRef="usd">4451000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjYtMi0xLTEtMA_5fd3d9fd-eab4-48d3-9f1e-3a6c6802320d"
      unitRef="usd">48785000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjYtNC0xLTEtMA_d50f0cb0-2ecf-4491-801e-fab8e6a82c1c"
      unitRef="usd">49805000</us-gaap:LiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjgtMi0xLTEtMA_1741828f-c599-4db4-b882-c97f29ddd6b0"
      unitRef="usd">968000</us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjgtNC0xLTEtMA_a08b7915-e0f9-4029-a8f0-f35ec1c16104"
      unitRef="usd">0</us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjktMi0xLTEtMA_a9208bd4-e6cd-47e8-a9ea-f48ee47f36e9"
      unitRef="usd">53936000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMjktNC0xLTEtMA_d4619c42-20f8-4b17-a6bc-0e0823ea4702"
      unitRef="usd">40146000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzItMi0xLTEtMA_0536ddf9-ca24-4774-ace9-337c21e7b454"
      unitRef="usd">8116000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzItNC0xLTEtMA_95b3d081-33e3-43d8-8463-bb173fee7ed5"
      unitRef="usd">13609000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:Liabilities
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzMtMi0xLTEtMA_1ff355df-0dbc-494f-8537-f05dd3ba0d15"
      unitRef="usd">111805000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzMtNC0xLTEtMA_121bad75-22e9-4e5a-b9a9-66d67caf2a8b"
      unitRef="usd">103560000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzQtMi0xLTEtMA_110b68a0-be65-46d5-b0eb-7bfd3e14b14e"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzQtNC0xLTEtMA_bd75bf3e-49c9-481e-9978-da13db1ab341"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzYtMC0xLTEtMC90ZXh0cmVnaW9uOmM5Y2M5OGY2YWYyODRhM2E5ZjdiZmExODhlNmI1NDEwXzIx_5e0f49f4-6d76-4c39-a22a-3d209c934727"
      unitRef="usdPerShare">0.0001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzYtMC0xLTEtMC90ZXh0cmVnaW9uOmM5Y2M5OGY2YWYyODRhM2E5ZjdiZmExODhlNmI1NDEwXzIx_93ace831-9091-4c3e-92d5-17887f2121d5"
      unitRef="usdPerShare">0.0001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzYtMC0xLTEtMC90ZXh0cmVnaW9uOmM5Y2M5OGY2YWYyODRhM2E5ZjdiZmExODhlNmI1NDEwXzM1_903eb515-9917-465f-9383-4ab0130638fa"
      unitRef="shares">25000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzYtMC0xLTEtMC90ZXh0cmVnaW9uOmM5Y2M5OGY2YWYyODRhM2E5ZjdiZmExODhlNmI1NDEwXzM1_92bd25c7-d980-4172-9e80-8c19b7c20141"
      unitRef="shares">25000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzYtMC0xLTEtMC90ZXh0cmVnaW9uOmM5Y2M5OGY2YWYyODRhM2E5ZjdiZmExODhlNmI1NDEwXzYw_2233f9fc-23ce-43bb-9337-a5513ecf0d5d"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzYtMC0xLTEtMC90ZXh0cmVnaW9uOmM5Y2M5OGY2YWYyODRhM2E5ZjdiZmExODhlNmI1NDEwXzYw_2395ffab-af75-44d0-9547-df1f921f6f5e"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzYtMC0xLTEtMC90ZXh0cmVnaW9uOmM5Y2M5OGY2YWYyODRhM2E5ZjdiZmExODhlNmI1NDEwXzYw_a22cf457-ec90-411b-8ff8-f24ef7910ec8"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzYtMC0xLTEtMC90ZXh0cmVnaW9uOmM5Y2M5OGY2YWYyODRhM2E5ZjdiZmExODhlNmI1NDEwXzYw_b75e41e7-1825-49f4-9fb9-aa164ffea701"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockValue
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzYtMi0xLTEtMA_f3a87ccf-d9dc-4cb7-9bf2-5633adfdbda1"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzYtNC0xLTEtMA_a2ac81ca-0a86-4403-bb6e-c61e5110d013"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i59ac7f950e9845f4a8c5cf34ace3451f_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzctMC0xLTEtMC90ZXh0cmVnaW9uOmI1Yzc0MGFlZTgyOTQzZTM5MmY5N2QwYTZjOGViNjBmXzI2_87a56491-f374-42d2-ad2a-1f40832c4e0a"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i266df8e2ba744fe9beac4c225c6c8da4_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzctMC0xLTEtMC90ZXh0cmVnaW9uOmI1Yzc0MGFlZTgyOTQzZTM5MmY5N2QwYTZjOGViNjBmXzI2_efa48290-5e5f-408a-a177-c6e67b92195e"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i59ac7f950e9845f4a8c5cf34ace3451f_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzctMC0xLTEtMC90ZXh0cmVnaW9uOmI1Yzc0MGFlZTgyOTQzZTM5MmY5N2QwYTZjOGViNjBmXzQw_1d4f8571-84fa-4ef1-9afd-c215753494e9"
      unitRef="shares">250000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i266df8e2ba744fe9beac4c225c6c8da4_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzctMC0xLTEtMC90ZXh0cmVnaW9uOmI1Yzc0MGFlZTgyOTQzZTM5MmY5N2QwYTZjOGViNjBmXzQw_b9ee261e-c451-425f-a5b0-56a7da144610"
      unitRef="shares">250000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="i59ac7f950e9845f4a8c5cf34ace3451f_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzctMC0xLTEtMC90ZXh0cmVnaW9uOmI1Yzc0MGFlZTgyOTQzZTM5MmY5N2QwYTZjOGViNjBmXzc4_439f68e3-9cae-44ed-b6e3-ae33e012fe24"
      unitRef="shares">19408000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="i266df8e2ba744fe9beac4c225c6c8da4_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzctMC0xLTEtMC90ZXh0cmVnaW9uOmI1Yzc0MGFlZTgyOTQzZTM5MmY5N2QwYTZjOGViNjBmXzg1_76fbc478-ba21-498e-923a-71455dad8b57"
      unitRef="shares">19148000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i59ac7f950e9845f4a8c5cf34ace3451f_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzctMC0xLTEtMC90ZXh0cmVnaW9uOmI1Yzc0MGFlZTgyOTQzZTM5MmY5N2QwYTZjOGViNjBmXzEzMw_6b69673d-bb26-4e63-b326-2490733adb4d"
      unitRef="shares">18989000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i266df8e2ba744fe9beac4c225c6c8da4_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzctMC0xLTEtMC90ZXh0cmVnaW9uOmI1Yzc0MGFlZTgyOTQzZTM5MmY5N2QwYTZjOGViNjBmXzE0MA_76a24854-cb6a-4d9c-b092-f50e2f79e8e4"
      unitRef="shares">18729000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="i59ac7f950e9845f4a8c5cf34ace3451f_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzctMi0xLTEtMA_65d7996f-75f5-4cef-955c-192d126b86ab"
      unitRef="usd">2000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i266df8e2ba744fe9beac4c225c6c8da4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzctNC0xLTEtMA_9daefbf3-c742-4851-b873-405804925b2f"
      unitRef="usd">2000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i53002aca9c784ed588ff49f4e0d9dc44_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOmFjMGE0NmI4MWEyNDRjZDA5NTQyYjUzMmYxMjIwMTlkXzI2_4b617175-7260-4c4c-addd-adf2c8e11c1a"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="iab4cd7e76c714310a83d639b192c1c28_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOmFjMGE0NmI4MWEyNDRjZDA5NTQyYjUzMmYxMjIwMTlkXzI2_7a08bee3-8431-4075-af61-6e49445e2d57"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="iab4cd7e76c714310a83d639b192c1c28_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOmFjMGE0NmI4MWEyNDRjZDA5NTQyYjUzMmYxMjIwMTlkXzQw_24fff20f-aa14-4751-bf8a-30d30a7e0792"
      unitRef="shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i53002aca9c784ed588ff49f4e0d9dc44_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOmFjMGE0NmI4MWEyNDRjZDA5NTQyYjUzMmYxMjIwMTlkXzQw_9bd4badd-3421-44c7-980c-15d908e8cbf3"
      unitRef="shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="iab4cd7e76c714310a83d639b192c1c28_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOmFjMGE0NmI4MWEyNDRjZDA5NTQyYjUzMmYxMjIwMTlkXzc4_5e512905-154a-4c5b-a8c9-3eb15ae3bc0e"
      unitRef="shares">15621000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="iab4cd7e76c714310a83d639b192c1c28_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOmFjMGE0NmI4MWEyNDRjZDA5NTQyYjUzMmYxMjIwMTlkXzc4_97d1c3dd-0c91-45d7-9879-23f53f6046d3"
      unitRef="shares">15621000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i53002aca9c784ed588ff49f4e0d9dc44_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOmFjMGE0NmI4MWEyNDRjZDA5NTQyYjUzMmYxMjIwMTlkXzg1_15c74bb0-457c-4f80-a8ae-e7a7e2715ee3"
      unitRef="shares">15659000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i53002aca9c784ed588ff49f4e0d9dc44_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOmFjMGE0NmI4MWEyNDRjZDA5NTQyYjUzMmYxMjIwMTlkXzg1_41a937c4-b097-4600-9058-d1810c2ad8c2"
      unitRef="shares">15659000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue
      contextRef="iab4cd7e76c714310a83d639b192c1c28_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzgtMi0xLTEtMA_3b414124-b316-4b20-a86f-12375a19545e"
      unitRef="usd">2000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i53002aca9c784ed588ff49f4e0d9dc44_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzgtNC0xLTEtMA_0c6731d4-b408-48a4-8984-c1705d2d6048"
      unitRef="usd">2000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzktMi0xLTEtMA_8d3e3cc5-5711-44d3-8f75-3aaff4644081"
      unitRef="usd">160160000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfMzktNC0xLTEtMA_ca1cef0f-1c3d-46c5-ba94-e2d4c062b92d"
      unitRef="usd">161247000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNDAtMi0xLTEtMA_ebc77985-2c4f-425f-ab8d-660e0d51016a"
      unitRef="usd">-10000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNDAtNC0xLTEtMA_e7a3432c-2a13-45b8-aabe-02ce70a454c4"
      unitRef="usd">56000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:TreasuryStockShares
      contextRef="i266df8e2ba744fe9beac4c225c6c8da4_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNDEtMC0xLTEtMC90ZXh0cmVnaW9uOjBjYTQ4Njk5MzRjZTQxNGY5MTE2ZWI3MDQ0YTBkYzBiXzI5_03531abd-69e7-4b96-b62a-472d00050b92"
      unitRef="shares">419000</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockShares
      contextRef="i59ac7f950e9845f4a8c5cf34ace3451f_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNDEtMC0xLTEtMC90ZXh0cmVnaW9uOjBjYTQ4Njk5MzRjZTQxNGY5MTE2ZWI3MDQ0YTBkYzBiXzI5_5d4460ee-c074-4872-b3d0-ad4f17d68490"
      unitRef="shares">419000</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockValue
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNDEtMi0xLTEtMA_ce0271ac-6f94-414b-bbaa-8b992270db4d"
      unitRef="usd">25756000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNDEtNC0xLTEtMA_033623ce-a339-482d-8dd5-bb5e070e0051"
      unitRef="usd">25756000</us-gaap:TreasuryStockValue>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNDItMi0xLTEtMA_1b1f72e3-fd1e-4ce3-9f10-252ed86d5a23"
      unitRef="usd">152869000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNDItNC0xLTEtMA_8d4ece2e-8502-4a58-89ed-2b4817dd88c9"
      unitRef="usd">150369000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNDMtMi0xLTEtMA_28f5617d-5fdd-47c3-836c-cec701100475"
      unitRef="usd">287267000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNDMtNC0xLTEtMA_b71ab1c9-716b-4530-835d-916d9a7420a6"
      unitRef="usd">285920000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNDQtMi0xLTEtMA_5ed8157e-4d71-4963-843d-1c52e982d494"
      unitRef="usd">399072000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xNi9mcmFnOjUzYTViYmMyNTg5YzRmYzQ5ODcwY2QyYTg1ZjUzY2EyL3RhYmxlOmNmNzc4ZDMwYzFiZDQ5ODhiZDU2OGIzYjFhMDgzYjI4L3RhYmxlcmFuZ2U6Y2Y3NzhkMzBjMWJkNDk4OGJkNTY4YjNiMWEwODNiMjhfNDQtNC0xLTEtMA_162e01ed-6577-4c62-b653-646c60e939a6"
      unitRef="usd">389480000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMi0xLTEtMS0w_c1541441-d24d-470e-b38b-504b8b4c7cbc"
      unitRef="usd">89040000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMi0zLTEtMS0w_d80c74dc-4ac6-439d-8eeb-5a8cdc0a043d"
      unitRef="usd">81043000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMi01LTEtMS0w_874543cd-bc15-4077-969f-cd8a7dc8ad00"
      unitRef="usd">167961000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMi03LTEtMS0w_7de304c1-3772-4d62-9b11-6b053f78e38f"
      unitRef="usd">153538000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNC0xLTEtMS0w_f17f6812-dbde-4ffe-9d43-e0ec80ee3eed"
      unitRef="usd">32819000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNC0zLTEtMS0w_6e5db0df-a956-4307-8436-21ec9a9a1284"
      unitRef="usd">27411000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNC01LTEtMS0w_1c3084db-8965-4562-8fda-3c0992292578"
      unitRef="usd">66117000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNC03LTEtMS0w_001a963f-3eab-42a1-9a27-3aed011b975d"
      unitRef="usd">56372000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNS0xLTEtMS0w_e3e3f8eb-6018-4767-ba05-e8603cd94113"
      unitRef="usd">17714000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNS0zLTEtMS0w_e1a13eda-dab9-42a9-8649-58b6021b80c5"
      unitRef="usd">13717000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNS01LTEtMS0w_ff1bc7e2-12c3-44e9-90e9-15c0cc9be302"
      unitRef="usd">33893000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNS03LTEtMS0w_9000602d-aa6d-4d46-98ef-3d48b81d28cc"
      unitRef="usd">28223000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNi0xLTEtMS0w_fab6e7b7-8256-4f9a-9a87-6c3195640f0c"
      unitRef="usd">15506000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNi0zLTEtMS0w_e01a466d-9345-4f1b-b8c7-3ebc4a1ff780"
      unitRef="usd">12128000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNi01LTEtMS0w_ff5d0e2b-ece0-4513-b200-f349f8acbb1e"
      unitRef="usd">29889000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNi03LTEtMS0w_8ba7a8ff-77e0-4693-8e8f-a4631ed0f22c"
      unitRef="usd">23340000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNy0xLTEtMS0w_90dd1542-07e0-449e-83c4-237ffd5fa7e4"
      unitRef="usd">14206000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNy0zLTEtMS0w_0c135688-477a-461d-a421-e91a179ae1f0"
      unitRef="usd">14785000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNy01LTEtMS0w_b587fb7f-90a5-454d-a988-966f652f3898"
      unitRef="usd">27567000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfNy03LTEtMS0w_15addc81-b318-4d3a-b461-b5eb635fb2f3"
      unitRef="usd">23357000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfOC0xLTEtMS0w_7843296b-4514-467a-b65b-57dfdb8b785c"
      unitRef="usd">7649000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfOC0zLTEtMS0w_56cfd6f2-2e74-439a-8df2-428e17536e71"
      unitRef="usd">6657000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfOC01LTEtMS0w_6095ef11-8032-4127-b83d-50020e99d543"
      unitRef="usd">15018000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfOC03LTEtMS0w_0dee9d0c-c364-40ba-a32a-b696c6be0996"
      unitRef="usd">13071000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:CostsAndExpenses
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfOS0xLTEtMS0w_53c0ce0c-00ab-491b-92cb-a39a706fe8da"
      unitRef="usd">87894000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfOS0zLTEtMS0w_1dbd79b2-331f-4e81-ab72-41fe402ff589"
      unitRef="usd">74698000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfOS01LTEtMS0w_dbd5c9a7-319a-4359-888e-071636ba1734"
      unitRef="usd">172484000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfOS03LTEtMS0w_de4b1b72-0aa4-49b4-b784-3a864cf8d918"
      unitRef="usd">144363000</us-gaap:CostsAndExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTAtMS0xLTEtMA_6b952598-21a4-4073-8927-016eadad34cf"
      unitRef="usd">1146000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTAtMy0xLTEtMA_0236967d-efe1-4740-876b-46c66832d7c2"
      unitRef="usd">6345000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTAtNS0xLTEtMA_f0616f23-3684-4e88-a3d0-3c541fe375fc"
      unitRef="usd">-4523000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTAtNy0xLTEtMA_8681c776-d79f-4252-925a-1ed490508378"
      unitRef="usd">9175000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTEtMS0xLTEtMA_bf9843e5-8c70-4561-9778-94ae03abb4f3"
      unitRef="usd">496000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTEtMy0xLTEtMA_4ab08952-d695-4748-a84f-8db2291edb02"
      unitRef="usd">-10000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTEtNS0xLTEtMA_5d85e664-b039-4023-8e5e-08fda931237b"
      unitRef="usd">1058000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTEtNy0xLTEtMA_f393542a-e95e-473b-b417-88af9fca73ad"
      unitRef="usd">12000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTItMS0xLTEtMA_bfe8b932-0bf5-4d6d-8044-9868e47cff15"
      unitRef="usd">55000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTItMy0xLTEtMA_7fe8f13f-9de0-4915-a5be-7babe1c370e6"
      unitRef="usd">-562000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTItNS0xLTEtMA_d224f4d5-1775-4201-9b65-b9da20d9226f"
      unitRef="usd">108000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTItNy0xLTEtMA_a3c11aa5-79da-40cf-8739-b8855b5910bc"
      unitRef="usd">-1056000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTMtMS0xLTEtMA_4d27d5b4-3deb-4e9d-b309-4e0ae0c9718b"
      unitRef="usd">1697000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTMtMy0xLTEtMA_cd0f19be-4531-4a6e-8a88-155ee47e2d89"
      unitRef="usd">5773000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTMtNS0xLTEtMA_1990d134-89ab-4ddf-a3b9-9de01a2caf91"
      unitRef="usd">-3357000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTMtNy0xLTEtMA_dbb2777e-b4df-4600-b184-e36696e7e69c"
      unitRef="usd">8131000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTQtMS0xLTEtMA_fda48a28-3574-45c2-b8d4-0a87f2e5f073"
      unitRef="usd">-324000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTQtMy0xLTEtMA_d66d1acd-80d6-4aaf-8dcb-8960e8fbfc02"
      unitRef="usd">-13484000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTQtNS0xLTEtMA_80e28647-1a3d-47e0-ab70-ec989c498cdc"
      unitRef="usd">-5857000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTQtNy0xLTEtMA_077ef78a-3ce4-4490-b3b5-25fb595c31ff"
      unitRef="usd">-13109000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTUtMS0xLTEtMA_f8044018-85bc-4cf6-9b55-679cc0e996de"
      unitRef="usd">2021000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTUtMy0xLTEtMA_b7235b45-fdde-4611-9805-8c56818d1f36"
      unitRef="usd">19257000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTUtNS0xLTEtMA_32e18385-a56c-4ae4-98e4-a5fddc0e429a"
      unitRef="usd">2500000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTUtNy0xLTEtMA_a5748409-5817-418f-9c26-facd31ac72de"
      unitRef="usd">21240000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTgtMS0xLTEtMA_6a5a7a06-8e52-4994-b2d4-6ddf584a4b0b"
      unitRef="usdPerShare">0.06</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTgtMy0xLTEtMA_21714c5c-395a-4391-884c-4196259d0191"
      unitRef="usdPerShare">0.56</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTgtNS0xLTEtMA_8c1fc5f6-2b24-46c3-bf97-f417c146352a"
      unitRef="usdPerShare">0.07</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTgtNy0xLTEtMA_c636db78-118b-49b6-a250-ede23e001c6c"
      unitRef="usdPerShare">0.62</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTktMS0xLTEtMA_c0d92b55-cd2c-4165-a02b-f5c4fc6f362b"
      unitRef="usdPerShare">0.06</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTktMy0xLTEtMA_3985a26b-6995-4107-9dff-7095839558de"
      unitRef="usdPerShare">0.54</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTktNS0xLTEtMA_92addf8c-0163-4805-a9ce-fdc157ec0608"
      unitRef="usdPerShare">0.07</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMTktNy0xLTEtMA_3d97f2b7-c7a6-47e5-924d-cd1df8c5950e"
      unitRef="usdPerShare">0.60</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMjEtMS0xLTEtMA_973c4382-c282-4920-b799-e90a5a1081b4"
      unitRef="shares">34548000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMjEtMy0xLTEtMA_bf561d48-d96e-4959-80c1-19e970e09426"
      unitRef="shares">34254000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMjEtNS0xLTEtMA_b0ce05a3-e5e2-4f22-ae2a-97079825a8a9"
      unitRef="shares">34479000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMjEtNy0xLTEtMA_14d091c7-5520-4c27-87d4-a23ef003d92f"
      unitRef="shares">34214000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMjItMS0xLTEtMA_b3f34a5e-33b7-4d28-be15-a5fee34830e0"
      unitRef="shares">35674000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMjItMy0xLTEtMA_cc46b4da-8a46-425c-aa51-26af409071e5"
      unitRef="shares">35614000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMjItNS0xLTEtMA_5444d353-d86b-48df-93aa-ba48074525a7"
      unitRef="shares">35697000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8xOS9mcmFnOmZhYjI3YzdiNGNmYTRmNWQ5ZTk5MjEyOGYwNzdhNWNiL3RhYmxlOjU5MWU0NzIxZTI3NjRjMjViOGMwOGRmZjk3NDEzNjFjL3RhYmxlcmFuZ2U6NTkxZTQ3MjFlMjc2NGMyNWI4YzA4ZGZmOTc0MTM2MWNfMjItNy0xLTEtMA_7799ef80-d5fe-4f82-8a07-e7ccfea0c919"
      unitRef="shares">35647000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yMi9mcmFnOjE4OWExODA5NjczNTRjZGY5YmM1YTNjMzYwMWI4MmY2L3RhYmxlOjA3ZjQ0NDAwMGZmOTQ3N2JhMzkyMTgzY2Q2YzVhMjhlL3RhYmxlcmFuZ2U6MDdmNDQ0MDAwZmY5NDc3YmEzOTIxODNjZDZjNWEyOGVfMi0xLTEtMS0w_f8044018-85bc-4cf6-9b55-679cc0e996de"
      unitRef="usd">2021000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yMi9mcmFnOjE4OWExODA5NjczNTRjZGY5YmM1YTNjMzYwMWI4MmY2L3RhYmxlOjA3ZjQ0NDAwMGZmOTQ3N2JhMzkyMTgzY2Q2YzVhMjhlL3RhYmxlcmFuZ2U6MDdmNDQ0MDAwZmY5NDc3YmEzOTIxODNjZDZjNWEyOGVfMi0zLTEtMS0w_b7235b45-fdde-4611-9805-8c56818d1f36"
      unitRef="usd">19257000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yMi9mcmFnOjE4OWExODA5NjczNTRjZGY5YmM1YTNjMzYwMWI4MmY2L3RhYmxlOjA3ZjQ0NDAwMGZmOTQ3N2JhMzkyMTgzY2Q2YzVhMjhlL3RhYmxlcmFuZ2U6MDdmNDQ0MDAwZmY5NDc3YmEzOTIxODNjZDZjNWEyOGVfMi01LTEtMS0w_32e18385-a56c-4ae4-98e4-a5fddc0e429a"
      unitRef="usd">2500000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yMi9mcmFnOjE4OWExODA5NjczNTRjZGY5YmM1YTNjMzYwMWI4MmY2L3RhYmxlOjA3ZjQ0NDAwMGZmOTQ3N2JhMzkyMTgzY2Q2YzVhMjhlL3RhYmxlcmFuZ2U6MDdmNDQ0MDAwZmY5NDc3YmEzOTIxODNjZDZjNWEyOGVfMi03LTEtMS0w_f3ed0421-ab15-440a-bf0f-336e60b7c95f"
      unitRef="usd">21240000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yMi9mcmFnOjE4OWExODA5NjczNTRjZGY5YmM1YTNjMzYwMWI4MmY2L3RhYmxlOjA3ZjQ0NDAwMGZmOTQ3N2JhMzkyMTgzY2Q2YzVhMjhlL3RhYmxlcmFuZ2U6MDdmNDQ0MDAwZmY5NDc3YmEzOTIxODNjZDZjNWEyOGVfNC0xLTEtMS0w_93e5bc25-074e-4804-bf58-e365075c00b5"
      unitRef="usd">-48000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yMi9mcmFnOjE4OWExODA5NjczNTRjZGY5YmM1YTNjMzYwMWI4MmY2L3RhYmxlOjA3ZjQ0NDAwMGZmOTQ3N2JhMzkyMTgzY2Q2YzVhMjhlL3RhYmxlcmFuZ2U6MDdmNDQ0MDAwZmY5NDc3YmEzOTIxODNjZDZjNWEyOGVfNC0zLTEtMS0w_65498362-efa1-4b49-a9a0-dddef5140a63"
      unitRef="usd">-34000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yMi9mcmFnOjE4OWExODA5NjczNTRjZGY5YmM1YTNjMzYwMWI4MmY2L3RhYmxlOjA3ZjQ0NDAwMGZmOTQ3N2JhMzkyMTgzY2Q2YzVhMjhlL3RhYmxlcmFuZ2U6MDdmNDQ0MDAwZmY5NDc3YmEzOTIxODNjZDZjNWEyOGVfNC01LTEtMS0w_c377a509-46b6-4f35-a5ed-8facb15a595a"
      unitRef="usd">-66000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yMi9mcmFnOjE4OWExODA5NjczNTRjZGY5YmM1YTNjMzYwMWI4MmY2L3RhYmxlOjA3ZjQ0NDAwMGZmOTQ3N2JhMzkyMTgzY2Q2YzVhMjhlL3RhYmxlcmFuZ2U6MDdmNDQ0MDAwZmY5NDc3YmEzOTIxODNjZDZjNWEyOGVfNC03LTEtMS0w_ccfea721-ff5b-4e21-b615-bb7fb899efaf"
      unitRef="usd">98000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yMi9mcmFnOjE4OWExODA5NjczNTRjZGY5YmM1YTNjMzYwMWI4MmY2L3RhYmxlOjA3ZjQ0NDAwMGZmOTQ3N2JhMzkyMTgzY2Q2YzVhMjhlL3RhYmxlcmFuZ2U6MDdmNDQ0MDAwZmY5NDc3YmEzOTIxODNjZDZjNWEyOGVfNS0xLTEtMS0w_5ef4bf80-9222-4106-85be-a37b62ae0d28"
      unitRef="usd">1973000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yMi9mcmFnOjE4OWExODA5NjczNTRjZGY5YmM1YTNjMzYwMWI4MmY2L3RhYmxlOjA3ZjQ0NDAwMGZmOTQ3N2JhMzkyMTgzY2Q2YzVhMjhlL3RhYmxlcmFuZ2U6MDdmNDQ0MDAwZmY5NDc3YmEzOTIxODNjZDZjNWEyOGVfNS0zLTEtMS0w_1574200e-d8aa-4c1a-9da9-94b1a815a3ad"
      unitRef="usd">19223000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yMi9mcmFnOjE4OWExODA5NjczNTRjZGY5YmM1YTNjMzYwMWI4MmY2L3RhYmxlOjA3ZjQ0NDAwMGZmOTQ3N2JhMzkyMTgzY2Q2YzVhMjhlL3RhYmxlcmFuZ2U6MDdmNDQ0MDAwZmY5NDc3YmEzOTIxODNjZDZjNWEyOGVfNS01LTEtMS0w_146c8908-6a29-47c3-b893-e86425d7208b"
      unitRef="usd">2434000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yMi9mcmFnOjE4OWExODA5NjczNTRjZGY5YmM1YTNjMzYwMWI4MmY2L3RhYmxlOjA3ZjQ0NDAwMGZmOTQ3N2JhMzkyMTgzY2Q2YzVhMjhlL3RhYmxlcmFuZ2U6MDdmNDQ0MDAwZmY5NDc3YmEzOTIxODNjZDZjNWEyOGVfNS03LTEtMS0w_58fd0d5f-28d1-4666-b19a-a4bf75e54aa3"
      unitRef="usd">21338000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="iadafe23d8a674865ac16ded0dd992701_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNS0xLTEtMS0w_3e07250b-cbd9-4b69-94b7-dbb5781327b3"
      unitRef="shares">18729000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="iadafe23d8a674865ac16ded0dd992701_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNS0zLTEtMS0w_1576cff9-d5ec-482d-af0b-451933d5cd74"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i36d2ff2f3c4f4972993d5cbc515e2e58_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNS01LTEtMS0w_5538f3d2-1711-4200-9be5-f2b2962da428"
      unitRef="shares">15659000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i36d2ff2f3c4f4972993d5cbc515e2e58_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNS03LTEtMS0w_d18a9cb5-654c-425d-a30a-205d13e6fa5a"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if8563cf58925411fab60663753d84d5a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNS05LTEtMS0w_39923082-caa5-4064-9774-49dfa3ba3704"
      unitRef="usd">161247000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7a1dda38688549b3a694c01a41649bcb_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNS0xMS0xLTEtMA_bac44204-f881-4626-8f41-6b7a683dcbf6"
      unitRef="usd">56000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i36838ad0aa9e42bc8d336aeebe97d3b3_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNS0xMy0xLTEtMA_1083f7c7-b311-4bff-975e-ccdf36caba10"
      unitRef="usd">-25756000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id26b681fd07d4da1926257554782cea3_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNS0xNS0xLTEtMA_fe6f0352-f900-4e6d-9968-52174eb1eb5f"
      unitRef="usd">150369000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNS0xNy0xLTEtMA_7bcf46e7-d188-4735-aa23-f0181ad69202"
      unitRef="usd">285920000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="ie626ef575f8648359688670c77022114_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNi0xLTEtMS0w_57312cef-fb49-4573-bf19-0b5dd52385bb"
      unitRef="shares">23000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i0d699ee7e10b429ba9cda7689caf4ce7_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNi05LTEtMS0w_b512a8c2-8a32-4ab8-a69a-b558968d4fd5"
      unitRef="usd">100000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="iebb5837e5b9a487b8ca7baac6916b06b_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNi0xNy0xLTEtMA_cd2a10f0-3d57-44b7-a0b3-ed38d1fa22e3"
      unitRef="usd">100000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i0d699ee7e10b429ba9cda7689caf4ce7_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNy05LTEtMS0w_6a7c4a63-b47d-4a9b-abc5-941ffca84d4d"
      unitRef="usd">3295000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="iebb5837e5b9a487b8ca7baac6916b06b_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfNy0xNy0xLTEtMA_e1512bd9-6f61-4e25-a368-c3697c4f23ab"
      unitRef="usd">3295000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings
      contextRef="ie626ef575f8648359688670c77022114_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfOC0xLTEtMS0w_09c38070-f2f6-4ba9-b043-85306fc8a4eb"
      unitRef="shares">42000</appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings>
    <appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings
      contextRef="i0d699ee7e10b429ba9cda7689caf4ce7_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfOC05LTEtMS0w_4f6d5818-7542-4af2-ac8b-b3654bd38964"
      unitRef="usd">-3992000</appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings>
    <appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings
      contextRef="iebb5837e5b9a487b8ca7baac6916b06b_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfOC0xNy0xLTEtMA_4fde2fd9-e7e6-4ece-af8a-8d8e5c5dc889"
      unitRef="usd">-3992000</appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="ie626ef575f8648359688670c77022114_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfOS0xLTEtMS0w_f77ba6cd-0f84-4a77-b056-915962144b03"
      unitRef="shares">108000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="i1fc1c5e7ccfe43588b2edf253fe8de00_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfOS01LTEtMS0w_e29c0dff-db98-4410-be3f-e9ff3de46419"
      unitRef="shares">-108000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i16d67d5033744b9e924767350d564ee0_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTEtMTEtMS0xLTA_40675418-2852-4229-ab38-24af530e88a0"
      unitRef="usd">-18000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="iebb5837e5b9a487b8ca7baac6916b06b_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTEtMTctMS0xLTA_311f518d-f22e-42a2-b003-5cf46156ff64"
      unitRef="usd">-18000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:NetIncomeLoss
      contextRef="ib2fce70f815f4f1686ebac5c115cfe5b_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTItMTUtMS0xLTA_c5d1cd74-6587-4187-8679-891faa870cba"
      unitRef="usd">479000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="iebb5837e5b9a487b8ca7baac6916b06b_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTItMTctMS0xLTA_86ad8535-f4f7-46c2-8310-783c42415738"
      unitRef="usd">479000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i2f93918e87a74100929771acd285b138_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTMtMS0xLTEtMA_97cd6d66-0768-4833-9ead-df74f857a326"
      unitRef="shares">18902000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i2f93918e87a74100929771acd285b138_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTMtMy0xLTEtMA_8be9c650-faf5-4229-8c0f-3e6dfba12186"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i1d6cf4a9587a4a2386c918a0c39d0c0e_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTMtNS0xLTEtMA_b3b00965-a7d6-4316-93ed-dde6437cd8ae"
      unitRef="shares">15551000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i1d6cf4a9587a4a2386c918a0c39d0c0e_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTMtNy0xLTEtMA_d1dac969-4d63-446a-a36f-b6bfc1ca113e"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="idcda3eedde3b44d0852f60b88fd06383_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTMtOS0xLTEtMA_fb165e7e-64e7-4ba1-9fd6-802e0b455ca4"
      unitRef="usd">160650000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia4550210957b49e0b4f3d48d73e71851_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTMtMTEtMS0xLTA_b5b47341-bed1-47f9-8c48-f0077eedce68"
      unitRef="usd">38000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia39cc8333f4d409291e8d684b18fe62f_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTMtMTMtMS0xLTA_9c37fb14-a21a-43e2-b710-4ac4a0fc9b67"
      unitRef="usd">-25756000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i767e759cac2e4948b76efad220fc1043_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTMtMTUtMS0xLTA_4f048c76-6c79-4b21-a5bf-dd2dd6c0d57b"
      unitRef="usd">150848000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i951e690537cd4f74905f8f057b259fba_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTMtMTctMS0xLTA_b2e93ea6-a76e-4753-8ae8-7fb1a7b4ac14"
      unitRef="usd">285784000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i688a96cc0fa64690b5f01603ed62fb6d_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTQtMS0xLTEtMTA1_1662abe5-8e07-4b06-900e-e5f3f4f76e30"
      unitRef="shares">13000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i5f78a4b6c4ba4096845c1f93d1947e15_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTQtNS0xLTEtMTA1_d8751c93-954a-4a39-a032-4bc7618dd462"
      unitRef="shares">84000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="idac8d27a9ec4465ba13547966661b07d_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTQtOS0xLTEtMTA1_2caa3e56-5d0d-4044-a896-3b0a06233b86"
      unitRef="usd">545000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTQtMTctMS0xLTEwNQ_6fb92b14-d952-41ab-b876-88ea819e9023"
      unitRef="usd">545000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="idac8d27a9ec4465ba13547966661b07d_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTUtOS0xLTEtMTA1_772df547-c098-4241-b436-848d57ebb767"
      unitRef="usd">3873000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTUtMTctMS0xLTEwNQ_562f9536-0152-44b4-9ea1-d499d6a29e25"
      unitRef="usd">3873000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings
      contextRef="i688a96cc0fa64690b5f01603ed62fb6d_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTYtMS0xLTEtMTA1_4837c63f-0364-4f91-89c3-d1ffe00f0d47"
      unitRef="shares">56000</appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings>
    <appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings
      contextRef="idac8d27a9ec4465ba13547966661b07d_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTYtOS0xLTEtMTA1_0979265e-edb4-4819-8913-12c0c823f554"
      unitRef="usd">-4908000</appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings>
    <appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTYtMTctMS0xLTEwNQ_9822e3c1-dbaa-40c8-b135-89424f2425fd"
      unitRef="usd">-4908000</appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="i688a96cc0fa64690b5f01603ed62fb6d_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTctMS0xLTEtMTA1_d279f85d-7344-459c-9a05-ffa4a44ce9a1"
      unitRef="shares">14000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="i5f78a4b6c4ba4096845c1f93d1947e15_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTctNS0xLTEtMTA1_4763f191-1e6d-4b33-ada7-98600550b1d4"
      unitRef="shares">-14000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="i688a96cc0fa64690b5f01603ed62fb6d_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTgtMS0xLTEtMTA1_89b05afe-4665-4370-b7a0-7b9218a50db1"
      unitRef="shares">4000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i34ff8464d68c4b41b9cdd07a425b9688_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTktMTEtMS0xLTEwNQ_223433aa-c63f-4af9-848d-f8fff034b7a0"
      unitRef="usd">-48000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMTktMTctMS0xLTEwNQ_1c48e1a8-6977-4b27-b89f-b395d8f4f8b6"
      unitRef="usd">-48000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:NetIncomeLoss
      contextRef="i1576f7b1a14947119362008901a8a59d_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMjAtMTUtMS0xLTEwNQ_9c5ffa1a-cb74-4cf6-a51a-dcdf880566a3"
      unitRef="usd">2021000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMjAtMTctMS0xLTEwNQ_70c4d53f-4b2b-43e0-91b6-284dc234ad4a"
      unitRef="usd">2021000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="iea93ba2a4e8d4bda904b7596eba42bd4_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMjEtMS0xLTEtMTA1_84c261c7-d70d-422f-af0f-4dedd16e0e1d"
      unitRef="shares">18989000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="iea93ba2a4e8d4bda904b7596eba42bd4_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMjEtMy0xLTEtMTA1_48c1cfd1-d483-4fed-b357-53d338506dff"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="id5c0c1c439054b18b1c35b41de34da49_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMjEtNS0xLTEtMTA1_9d49f941-3958-4617-a68e-317460855cf4"
      unitRef="shares">15621000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="id5c0c1c439054b18b1c35b41de34da49_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMjEtNy0xLTEtMTA1_109b2e11-e915-478f-8bff-757880bd6f92"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i89417483569f4f3f93b94fecad35c667_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMjEtOS0xLTEtMTA1_b1a5d6e3-5a5e-4e68-8107-c9e9ceb2b2b0"
      unitRef="usd">160160000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id1c61cbee6fe4c9ea24bbe2a152a41e0_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMjEtMTEtMS0xLTEwNQ_9a0141ef-59b5-4918-8933-dac28b5c17c5"
      unitRef="usd">-10000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4da7eb8f55e84c2196ef7a2591b3af44_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMjEtMTMtMS0xLTEwNQ_82cd4cf9-dab3-4d62-9f74-111f0395e267"
      unitRef="usd">-25756000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie34ebf95970749fcb59d06facf20b7ed_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMjEtMTUtMS0xLTEwNQ_8752d787-61d6-4750-87d5-638c918f31e1"
      unitRef="usd">152869000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjZmOWM3NThjYmM0ZDRkZDBiMTM3ODUyY2QzNjg5ZWQzL3RhYmxlcmFuZ2U6NmY5Yzc1OGNiYzRkNGRkMGIxMzc4NTJjZDM2ODllZDNfMjEtMTctMS0xLTEwNQ_6a3d7ebb-af3c-4e96-b5c6-67c0d27b9d82"
      unitRef="usd">287267000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="ie71946e53a9141c2985262e73f21d211_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNS0xLTEtMS0w_fdda3051-c68d-4288-b1d5-4eb61aafbc2b"
      unitRef="shares">16552000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="ie71946e53a9141c2985262e73f21d211_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNS0zLTEtMS0w_f777b5f7-a37e-40a7-ad16-5ac52de38f68"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="ia273b335fdc34a00b7391ca01d20930c_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNS01LTEtMS0w_6bd69581-349a-48ac-ace9-2d1739e37fed"
      unitRef="shares">17594000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="ia273b335fdc34a00b7391ca01d20930c_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNS03LTEtMS0w_ca16892d-8e30-432e-815f-c9fcf8623251"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i95fe3b7512dc4aea8492ab7094c19fba_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNS05LTEtMS0w_4c31d7a8-1638-4cd8-8b41-adeebd4452d7"
      unitRef="usd">161509000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib8d1090c69c54463bf96403d5d680915_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNS0xMS0xLTEtMA_1e7c0d65-1b0e-459c-b876-7999c5c546a4"
      unitRef="usd">33000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iecd37b0440934f2e973412c6e7ff378e_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNS0xMy0xLTEtMA_f771d9dc-2277-47f7-9b12-2a6187560b12"
      unitRef="usd">-21562000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i9a3f8e84d0a84915b5c2f575445318bb_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNS0xNS0xLTEtMA_e6ce450e-eccb-4d0a-b01b-9ef3b94d3aaa"
      unitRef="usd">-8034000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i473e347ebb55401dbe2a6897a4960ac2_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNS0xNy0xLTEtMA_b14ff3ef-eb04-4f1d-bb57-1c3d4ce0c3f2"
      unitRef="usd">131950000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="if527286e411c499c8fa3f829e9f8f1a5_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNi0xLTEtMS0w_071b7e2d-7222-459e-a874-1cf2d76a2e46"
      unitRef="shares">17000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i9a77525dc55446f485f3031569489596_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNi05LTEtMS0w_55e3b8d5-5285-4238-aeef-947b2714f8b6"
      unitRef="usd">97000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ie12b07a296d44bc8bf5867ead97026a9_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNi0xNy0xLTEtMA_92181ff6-5b98-4352-8170-0f4dc3bc3e07"
      unitRef="usd">97000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i9a77525dc55446f485f3031569489596_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNy05LTEtMS0w_b8228d96-1497-4967-8c80-4b9c600a4337"
      unitRef="usd">1365000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ie12b07a296d44bc8bf5867ead97026a9_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfNy0xNy0xLTEtMA_01606a93-a767-43ee-8414-a1321bd17aea"
      unitRef="usd">1365000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings
      contextRef="if527286e411c499c8fa3f829e9f8f1a5_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfOC0xLTEtMS0w_19f70ba5-49c2-4e66-a41d-b8eb0cc67cf9"
      unitRef="shares">91000</appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings>
    <appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings
      contextRef="i9a77525dc55446f485f3031569489596_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfOC05LTEtMS0w_f7c1aba2-05a6-4a46-8768-6ea010db5fa7"
      unitRef="usd">-6458000</appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings>
    <appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings
      contextRef="ie12b07a296d44bc8bf5867ead97026a9_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfOC0xNy0xLTEtMA_203756a7-ec46-48b3-a0f8-39b4328dd107"
      unitRef="usd">-6458000</appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="if527286e411c499c8fa3f829e9f8f1a5_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfOS0xLTEtMS0w_2be3363b-7e70-4ff6-baf5-968cdcb94b80"
      unitRef="shares">58000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="id47cc0b87fcc4a55864b665cf98fa38f_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfOS01LTEtMS0w_e9460b0b-a604-4f49-8271-694616d45a36"
      unitRef="shares">-58000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i855304e84fd545f49dfc0cb3cdff89c7_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTEtMTEtMS0xLTA_d4b4ade7-c4d0-4f0a-8370-5c72daa3e055"
      unitRef="usd">132000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="ie12b07a296d44bc8bf5867ead97026a9_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTEtMTctMS0xLTA_41123b33-381c-4fc8-ade7-f1fbabd63976"
      unitRef="usd">132000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="if527286e411c499c8fa3f829e9f8f1a5_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTItMS0xLTEtMA_e60bc188-172f-4d9d-9a72-f20afe5164d0"
      unitRef="shares">48000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i35f2c1d7a83a46768e2024796d1d6c1a_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTItMTMtMS0xLTA_10729296-0cba-4d6e-89ee-684bf8f9f3b3"
      unitRef="usd">4194000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="ie12b07a296d44bc8bf5867ead97026a9_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTItMTctMS0xLTA_9206ea66-2a48-4e0b-a59b-006d85046825"
      unitRef="usd">4194000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:NetIncomeLoss
      contextRef="id9d4e831a6ac423ea3aa3bcf5feca1c6_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTMtMTUtMS0xLTA_66cc4b44-e3a3-427b-b7cd-bde1dbea2f29"
      unitRef="usd">1983000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ie12b07a296d44bc8bf5867ead97026a9_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTMtMTctMS0xLTA_cc803e82-5a0d-4283-9b45-45bfc2c6a30e"
      unitRef="usd">1983000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="ia85a1f2e921d4265a9cc9d099db97606_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTQtMS0xLTEtMA_4d0ce5c1-54ec-4052-9e93-a6c360b7f0d7"
      unitRef="shares">16670000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="ia85a1f2e921d4265a9cc9d099db97606_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTQtMy0xLTEtMA_8cecb4c3-8494-4a62-add6-e9093b7c3df2"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i457171b76e044c8fba5f470457019be9_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTQtNS0xLTEtMA_d385af42-8178-44a9-a96f-569ff0a7d0b0"
      unitRef="shares">17536000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i457171b76e044c8fba5f470457019be9_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTQtNy0xLTEtMA_96669a74-d620-4f2f-8ad9-fed0a577f84f"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i87a02771c61f4dd9a752778100df2f07_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTQtOS0xLTEtMA_3e40bd9e-22fa-44b3-b849-470edd67ea83"
      unitRef="usd">156513000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i0900b5202d9047f697cded080df512f8_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTQtMTEtMS0xLTA_bf4c79d1-4f0f-4cf7-a49d-7ef8e34cb0e1"
      unitRef="usd">165000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia15e38c402a441579cb08c945f46e4c8_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTQtMTMtMS0xLTA_effee553-0e4a-4c0a-8f2e-c353e5094e88"
      unitRef="usd">-25756000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i3e68eab6c9ae45ff807d53b070357da1_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTQtMTUtMS0xLTA_03eae250-a690-4364-b32c-a88e2ddb2670"
      unitRef="usd">-6051000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i274be8f03a0f4a2fb24c52b61b7e4c5d_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTQtMTctMS0xLTA_968111fd-8b3e-4f0d-be7b-46ab8d6bb2d9"
      unitRef="usd">124875000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i56ec066694d84fa08df38cbfe9d800a8_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTUtMS0xLTEtMTQ1_76299c75-852d-4e9d-a6c5-cdf60e9d8a95"
      unitRef="shares">32000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i8a4b27fb1f47494f9780a3c635177b5f_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTUtOS0xLTEtMTQ1_4c79cb25-bdee-4bb8-abee-35b4990c62dd"
      unitRef="usd">232000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTUtMTctMS0xLTE0NQ_a0c9bc17-08cc-450b-9d39-9389383b712f"
      unitRef="usd">232000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i8a4b27fb1f47494f9780a3c635177b5f_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTYtOS0xLTEtMTQ1_4b3a8b2b-4bc3-482e-b024-340e0035d711"
      unitRef="usd">3406000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTYtMTctMS0xLTE0NQ_03b01ffc-a1b0-4a35-8b4e-1666033c7d78"
      unitRef="usd">3406000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings
      contextRef="i56ec066694d84fa08df38cbfe9d800a8_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTctMS0xLTEtMTQ1_3b997d1a-ede6-463d-849c-857e1db61568"
      unitRef="shares">50000</appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings>
    <appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings
      contextRef="i8a4b27fb1f47494f9780a3c635177b5f_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTctOS0xLTEtMTQ1_1ee53cba-71ce-4de7-89a9-a93e64cf4bc2"
      unitRef="usd">-3232000</appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings>
    <appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTctMTctMS0xLTE0NQ_c42ccd38-0601-4367-835e-276c37204203"
      unitRef="usd">-3232000</appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="i56ec066694d84fa08df38cbfe9d800a8_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTgtMS0xLTEtMTQ1_8fa0f5ba-8112-4318-8b5d-6e5f324c63f0"
      unitRef="shares">197000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="i527030bb95f64d4895deefedbb80e718_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTgtNS0xLTEtMTQ1_dd59e597-b120-422c-afd1-51e6a0b5adc9"
      unitRef="shares">-197000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="i56ec066694d84fa08df38cbfe9d800a8_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMTktMS0xLTEtMTQ1_fd60af26-63bc-4485-992d-0f21b923deb3"
      unitRef="shares">3000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i87ccda2d238e43089e7b3dbbcb3b9459_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMjAtMTEtMS0xLTE0NQ_7fb1c0b7-b095-4e07-8675-d141d7665bf6"
      unitRef="usd">-34000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMjAtMTctMS0xLTE0NQ_af694ad5-bf85-4319-ac93-51874eea016c"
      unitRef="usd">-34000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:NetIncomeLoss
      contextRef="i1b127436d3594dfeabed2fd67aa687fa_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMjEtMTUtMS0xLTE0NQ_8287deae-3b97-4e84-b252-6781c2017a44"
      unitRef="usd">19257000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMjEtMTctMS0xLTE0NQ_f0114d5b-07b6-41dd-973c-2655434edd0a"
      unitRef="usd">19257000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i721e90dffc76488889c8a058865d8e39_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMjItMS0xLTEtMTQ1_eef27994-c24d-4ca3-9827-dbebc7af842e"
      unitRef="shares">16952000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i721e90dffc76488889c8a058865d8e39_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMjItMy0xLTEtMTQ1_82423a6a-a59a-4b7c-b2b5-f63c7288a3c0"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i7e8708cf3bfd4ba0ba4fd7adf2ad2263_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMjItNS0xLTEtMTQ1_24e1b38b-5a02-463b-a128-6f883408af7a"
      unitRef="shares">17339000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i7e8708cf3bfd4ba0ba4fd7adf2ad2263_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMjItNy0xLTEtMTQ1_30a14996-0dbc-495b-a27e-3d4f1db391d8"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i61e3fa5e6e8b4fc0b24d94bcf00a52fb_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMjItOS0xLTEtMTQ1_af20802a-54da-49d5-afed-c3285ae0fa02"
      unitRef="usd">156919000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7298f901442042a5b2a441bdb590f938_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMjItMTEtMS0xLTE0NQ_66abcd90-1e1f-4772-806c-6bcd3227eccc"
      unitRef="usd">131000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i66bc4798416b40a8a5c388e071ab0c14_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMjItMTMtMS0xLTE0NQ_c9f5544a-21be-4fc4-acbf-f6ebe5752a5b"
      unitRef="usd">-25756000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7cf590c47d5e47189e9e02c7c5d87fc2_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMjItMTUtMS0xLTE0NQ_8d5d593f-68e5-473a-8dca-2e7247798e82"
      unitRef="usd">13206000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i988c1fbc446e44d2bab95dfcf6db2d16_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yNS9mcmFnOmE1MTZlNTFkMDQ5MDRkOWJhMDQ0MzU3MmZjOGI3NTdkL3RhYmxlOjUxMmVkYzFiZjY1YTQ4YjViNTJhYWRiY2MxZjM4OTAzL3RhYmxlcmFuZ2U6NTEyZWRjMWJmNjVhNDhiNWI1MmFhZGJjYzFmMzg5MDNfMjItMTctMS0xLTE0NQ_beacee48-57cb-4520-9004-65a934662ec2"
      unitRef="usd">144504000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfOC0xLTEtMS0w_c509ee00-b4c6-4f50-9744-c53660fa1388"
      unitRef="usd">2500000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfOC0zLTEtMS0w_b1ae8981-9bff-4559-8556-3f3b92798258"
      unitRef="usd">21240000</us-gaap:NetIncomeLoss>
    <appf:DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTAtMS0xLTEtMA_8e90a09c-417d-400f-b20b-375f87283409"
      unitRef="usd">15018000</appf:DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts>
    <appf:DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTAtMy0xLTEtMA_dc31171b-458f-4c86-a797-919edcf71b25"
      unitRef="usd">13071000</appf:DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts>
    <appf:AmortizationOfOperatingLeaseRightOfUseAssets
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTEtMS0xLTEtMA_8399e15d-cde5-49ae-aa6d-c18139e85011"
      unitRef="usd">1399000</appf:AmortizationOfOperatingLeaseRightOfUseAssets>
    <appf:AmortizationOfOperatingLeaseRightOfUseAssets
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTEtMy0xLTEtMA_4803830e-ac22-49c9-8f61-38487ac006d3"
      unitRef="usd">2071000</appf:AmortizationOfOperatingLeaseRightOfUseAssets>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTItMS0xLTEtMA_2f76e22e-3ba5-4e3a-9523-72761349c920"
      unitRef="usd">-6086000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTItMy0xLTEtMA_696175e3-8400-463e-98aa-d5ec5610dc56"
      unitRef="usd">-13137000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:ShareBasedCompensation
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTMtMS0xLTEtMA_28b3e0b0-7d3e-413d-b6b3-25d19d6a7b8d"
      unitRef="usd">5990000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTMtMy0xLTEtMA_d5c1d3e6-72e9-4318-a580-29bb573ec6c2"
      unitRef="usd">3712000</us-gaap:ShareBasedCompensation>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTQtMS0xLTEtMA_404b2d50-a94e-4ed9-8b79-2b23a59f0711"
      unitRef="usd">579000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTQtMy0xLTEtMA_cf6d8152-e1c0-4d9f-8a2b-79f794442ed4"
      unitRef="usd">30000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTctMS0xLTEtMA_7dc3febd-677a-4536-88d1-8971c1b6cd4b"
      unitRef="usd">4007000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTctMy0xLTEtMA_da5be256-63d9-438c-9b24-341ad53d7ef2"
      unitRef="usd">5136000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTgtMS0xLTEtMA_474bfbbf-bb4c-4a78-8996-028839b63fdd"
      unitRef="usd">2171000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTgtMy0xLTEtMA_03115073-b800-4eae-ba32-6225b96afcf9"
      unitRef="usd">292000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTktMS0xLTEtMA_ada7e875-5027-477d-b3db-5362e20dda83"
      unitRef="usd">982000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMTktMy0xLTEtMA_1a244e22-b6b0-4575-ac92-dbc0a8c1dc78"
      unitRef="usd">107000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjAtMS0xLTEtMA_aa8013b3-a0f3-4f15-b37a-568e4162572e"
      unitRef="usd">1301000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjAtMy0xLTEtMA_67bb4dbd-4ef9-4b3f-81f0-d29e280a1f74"
      unitRef="usd">193000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjEtMS0xLTEtMA_12fe00c0-8ee3-499e-8d09-b045219cfed8"
      unitRef="usd">7638000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjEtMy0xLTEtMA_95d7436d-ad34-4f23-9e34-61033fdc0509"
      unitRef="usd">717000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjItMS0xLTEtMA_c629a9da-fcf5-42db-a5ca-481aa0284d8d"
      unitRef="usd">-3047000</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjItMy0xLTEtMA_40fed09c-aed4-4a3b-9e3f-1198480b52bf"
      unitRef="usd">4534000</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjMtMS0xLTEtMA_03875f8b-c853-4da2-894d-077a9bde647a"
      unitRef="usd">33000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjMtMy0xLTEtMA_bc87d58f-29a5-433d-8124-1380ab1452e7"
      unitRef="usd">532000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjQtMS0xLTEtMA_e880ed4f-35fb-4757-b674-d1a412c8075a"
      unitRef="usd">-9029000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjQtMy0xLTEtMA_fb69968e-502e-4010-91a2-902f30c733ac"
      unitRef="usd">0</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInOtherCurrentLiabilities
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjUtMS0xLTEtMA_982cbc4c-cc5a-4c58-9e50-14680a8a97ca"
      unitRef="usd">30000</us-gaap:IncreaseDecreaseInOtherCurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherCurrentLiabilities
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjUtMy0xLTEtMA_dda56d9f-3ca5-4d67-8039-a0ad21ca552c"
      unitRef="usd">100000</us-gaap:IncreaseDecreaseInOtherCurrentLiabilities>
    <appf:IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjYtMS0xLTEtMA_ac94fada-2e1c-4d41-8228-7689336fdd2c"
      unitRef="usd">968000</appf:IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent>
    <appf:IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjYtMy0xLTEtMA_e5499d34-87c4-46d8-bf21-31688e4244c2"
      unitRef="usd">0</appf:IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent>
    <appf:IncreaseDecreaseInOperatingLeases
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjctMS0xLTEtMA_0a3f1480-df90-4bad-9ffd-902f91dfcde5"
      unitRef="usd">1685000</appf:IncreaseDecreaseInOperatingLeases>
    <appf:IncreaseDecreaseInOperatingLeases
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjctMy0xLTEtMA_9d97f85d-5b6a-4ec6-b52b-396dc376e15f"
      unitRef="usd">-92000</appf:IncreaseDecreaseInOperatingLeases>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjgtMS0xLTEtMA_b052ba1c-904d-4328-a6f7-8685b539c6ed"
      unitRef="usd">10661000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMjgtMy0xLTEtMA_30fa1a78-56b9-47d4-801c-1b6d61973c82"
      unitRef="usd">27376000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMzAtMS0xLTEtMA_3d41d963-2e8c-4d6a-ac15-539b46fe9305"
      unitRef="usd">148293000</us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt>
    <us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMzAtMy0xLTEtMA_7b870a78-4504-44e3-963c-70c7d473c0da"
      unitRef="usd">13389000</us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMzEtMS0xLTEtMA_614cc4bf-be83-422d-82b9-94457aeeb779"
      unitRef="usd">42198000</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMzEtMy0xLTEtMA_1cc867e4-3e4f-4c5f-a2a4-1726cac2233d"
      unitRef="usd">13942000</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMzItMS0xLTEtMA_e32e7546-9f11-4d7c-8c0e-e18198148d1c"
      unitRef="usd">26750000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMzItMy0xLTEtMA_8d942d8f-6b68-4943-a9dc-cd26db47d8be"
      unitRef="usd">7750000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMzMtMS0xLTEtMA_7f09a462-8b88-4e11-b6b1-43da1129a87e"
      unitRef="usd">2804000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMzMtMy0xLTEtMA_3c067afb-233d-4367-ab12-aaad6519e2cf"
      unitRef="usd">14306000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMzQtMS0xLTEtMA_c15b8391-b004-4586-933c-563785545af2"
      unitRef="usd">11911000</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMzQtMy0xLTEtMA_4916c6fc-df11-4a16-b1d4-06745ad78f0a"
      unitRef="usd">12709000</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMzgtMS0xLTEtMA_c7e08f71-fe23-4756-969c-30af618d681c"
      unitRef="usd">-94060000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfMzgtMy0xLTEtMA_c7607c74-4896-4c0c-b8c7-a961bc7c1bbd"
      unitRef="usd">-18712000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNDAtMS0xLTEtMA_298c1921-bc49-462a-9105-f90cbd95d9b5"
      unitRef="usd">646000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNDAtMy0xLTEtMA_0dc8545d-8f18-44ea-b384-e89ed1860a2a"
      unitRef="usd">329000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNDMtMS0xLTEtMA_efe9bf30-115f-489b-84e6-3bd3b8b12865"
      unitRef="usd">8900000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNDMtMy0xLTEtMA_9a0efd72-2c27-4dd6-ad1c-b087c3f8873f"
      unitRef="usd">9690000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNDUtMS0xLTEtMA_9aa4f272-06d3-4550-83f0-642062520ac6"
      unitRef="usd">0</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNDUtMy0xLTEtMA_54da4b1f-2d3d-4e6a-9b06-099e7e727aa5"
      unitRef="usd">5977000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:ProceedsFromIssuanceOfSecuredDebt
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNDYtMS0xLTEtMA_f58ba8e0-642f-47b9-abc9-40c7282c4f9b"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfSecuredDebt>
    <us-gaap:ProceedsFromIssuanceOfSecuredDebt
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNDYtMy0xLTEtMA_5387248b-fa6f-44e8-a9cb-9a6cc1bbb2dc"
      unitRef="usd">50190000</us-gaap:ProceedsFromIssuanceOfSecuredDebt>
    <us-gaap:RepaymentsOfSecuredDebt
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNDctMS0xLTEtMA_21ea2c15-6d18-491a-9c79-deb0b6d6965e"
      unitRef="usd">0</us-gaap:RepaymentsOfSecuredDebt>
    <us-gaap:RepaymentsOfSecuredDebt
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNDctMy0xLTEtMA_8b12b196-ee73-45b2-86ae-fdc9d61e44ce"
      unitRef="usd">1818000</us-gaap:RepaymentsOfSecuredDebt>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNDktMS0xLTEtMA_4d1f673e-7797-4274-9f99-31602505cd2a"
      unitRef="usd">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNDktMy0xLTEtMA_be9cb8dc-849a-4392-af3c-2f2a9e069cbd"
      unitRef="usd">4194000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNTAtMS0xLTEtMA_3ed57485-ee4b-4f91-8299-c843e5e07f35"
      unitRef="usd">-8254000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNTAtMy0xLTEtMA_8e8943de-d97f-4bad-aaab-8c98ca1ad9a0"
      unitRef="usd">28840000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNTEtMS0xLTEtMA_3271dfd7-91fc-457a-88e0-5b854d651c88"
      unitRef="usd">-91653000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNTEtMy0xLTEtMA_9b91e1f4-e1c0-4975-8b7d-73b114ef4f2b"
      unitRef="usd">37504000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNTMtMS0xLTEtMA_40d771ad-a528-477c-9ebf-9b7a8294ff6a"
      unitRef="usd">140699000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i473e347ebb55401dbe2a6897a4960ac2_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNTMtMy0xLTEtMA_5b9357ae-7d9d-4eee-a7db-d1e62eb9b03b"
      unitRef="usd">16247000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNTQtMS0xLTEtMA_4248b884-9dd5-4706-9525-644937af2272"
      unitRef="usd">49046000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i988c1fbc446e44d2bab95dfcf6db2d16_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNTQtMy0xLTEtMA_7c3290b9-43ba-4fee-a6d3-5eb5c7e1efc3"
      unitRef="usd">53751000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNjMtMS0xLTEtMA_c8a14099-aea9-4254-9faa-1f85170acbfd"
      unitRef="usd">822000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNjMtMy0xLTEtMA_e1b19733-8e75-45e4-aa71-149443197c73"
      unitRef="usd">2678000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <appf:CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNjQtMS0xLTEtMA_ed8810dc-18b2-42c6-b2ad-5024de1ee873"
      unitRef="usd">1361000</appf:CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid>
    <appf:CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNjQtMy0xLTEtMA_41164047-f62b-42c8-af6a-b94256d2d5b7"
      unitRef="usd">1281000</appf:CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid>
    <us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNjUtMS0xLTEtMA_166e8189-7505-41de-b901-68ef9851e5b8"
      unitRef="usd">1178000</us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount>
    <us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjI1ZTUwMjc4Mzk5ZTRlNDFhMmM1MzA4ZjY2YzQzN2NiL3RhYmxlcmFuZ2U6MjVlNTAyNzgzOTllNGU0MWEyYzUzMDhmNjZjNDM3Y2JfNjUtMy0xLTEtMA_2e289415-d513-4916-b7ea-81a63a9e958e"
      unitRef="usd">1059000</us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjJjNzkxYWZlMTAyNTQ5Njk4ZWEzY2VkYWI2NTFjMTFiL3RhYmxlcmFuZ2U6MmM3OTFhZmUxMDI1NDk2OThlYTNjZWRhYjY1MWMxMWJfMi0xLTEtMS0w_51c21955-8f1e-4db3-ad4c-e309b8738329"
      unitRef="usd">48610000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i988c1fbc446e44d2bab95dfcf6db2d16_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjJjNzkxYWZlMTAyNTQ5Njk4ZWEzY2VkYWI2NTFjMTFiL3RhYmxlcmFuZ2U6MmM3OTFhZmUxMDI1NDk2OThlYTNjZWRhYjY1MWMxMWJfMi0zLTEtMS0w_25982564-0673-458c-af19-517196dc62e7"
      unitRef="usd">53315000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalents
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjJjNzkxYWZlMTAyNTQ5Njk4ZWEzY2VkYWI2NTFjMTFiL3RhYmxlcmFuZ2U6MmM3OTFhZmUxMDI1NDk2OThlYTNjZWRhYjY1MWMxMWJfMy0xLTEtMS0w_b1df7857-71ef-4e35-a216-d81e25037a51"
      unitRef="usd">436000</us-gaap:RestrictedCashAndCashEquivalents>
    <us-gaap:RestrictedCashAndCashEquivalents
      contextRef="i988c1fbc446e44d2bab95dfcf6db2d16_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjJjNzkxYWZlMTAyNTQ5Njk4ZWEzY2VkYWI2NTFjMTFiL3RhYmxlcmFuZ2U6MmM3OTFhZmUxMDI1NDk2OThlYTNjZWRhYjY1MWMxMWJfMy0zLTEtMS0w_9ea1aef6-50b3-4fa1-956b-ac274b0d2328"
      unitRef="usd">436000</us-gaap:RestrictedCashAndCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjJjNzkxYWZlMTAyNTQ5Njk4ZWEzY2VkYWI2NTFjMTFiL3RhYmxlcmFuZ2U6MmM3OTFhZmUxMDI1NDk2OThlYTNjZWRhYjY1MWMxMWJfNC0xLTEtMS0w_eb0e9b56-a655-4fc0-aed2-ef16ac105221"
      unitRef="usd">49046000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i988c1fbc446e44d2bab95dfcf6db2d16_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8yOC9mcmFnOjdjMTViMTEzYzcwMjQ0OGRhMzA3MTI2NTlkMjE1NDMxL3RhYmxlOjJjNzkxYWZlMTAyNTQ5Njk4ZWEzY2VkYWI2NTFjMTFiL3RhYmxlcmFuZ2U6MmM3OTFhZmUxMDI1NDk2OThlYTNjZWRhYjY1MWMxMWJfNC0zLTEtMS0w_0d66d093-0e39-412c-9666-c1dc7dd8cb4c"
      unitRef="usd">53751000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:NatureOfOperations
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNC9mcmFnOmZiZGJjMmY0OThiZTRhNTc4NjM2NjFlMTkwYzdkOTgzL3RleHRyZWdpb246ZmJkYmMyZjQ5OGJlNGE1Nzg2MzY2MWUxOTBjN2Q5ODNfMjIzNQ_35591ded-d4c7-4e4e-b190-aa0d339ea4ff">Nature of Business&lt;div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;AppFolio, Inc. (the "Company," "we," "us" or "our") provides innovative software, services and data analytics to the real estate industry. Our cloud-based solutions are used primarily by property managers, but also by numerous other constituencies in the property management business ecosystem. These other constituencies include property owners, rental prospects, tenants and service providers, whom we refer to collectively as "users". Although specific functionality varies by product, our core solutions are designed to enable our customers to digitally transform their businesses, address critical business operations and enable exceptional customer service. In addition to our core solutions, we offer an array of optional, but often business-critical, Value+ services that are designed to enhance, automate and streamline processes and workflows that are essential to our customers' businesses. Our Value+ services are generally available on an as-needed basis and enable our customers to adapt our offerings to their specific operational requirements.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Our solutions and services are designed to be a system of record to automate essential business processes, a system of engagement to enhance business interactions between our customers and users and a system of intelligence to leverage data to predict and optimize business workflows in order to enable exceptional customer experiences and increase efficiency across our customers' businesses.&lt;/span&gt;&lt;span style="color:#3051f2;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:115%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Our mobile-optimized software solutions are designed for use across multiple devices and operating systems. Our software solutions are offered as a service, are hosted using a modern cloud-based architecture, and in part, use artificial intelligence technologies. This architecture leads to rich data sets that have a consistent schema across our customer and user base and enables us to deploy data-powered products and services for our customers and users.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;During the six months ended June&#160;30, 2020, we also provided software solutions and services to the legal industry via MyCase, a software solution primarily designed for small and mid-sized law firms. As previously disclosed, we completed our divestiture of MyCase, Inc. on September 30, 2020. For additional details, see Note 3, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%"&gt;Divestitures&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;.&lt;/span&gt;&lt;/div&gt;</us-gaap:NatureOfOperations>
    <us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RleHRyZWdpb246ZWVjNTIwMjc3NzUxNDA1ZWIyNTIxM2I2Y2E5MmYxZWNfODUzOQ_7a2f6e01-8bdb-455a-919f-50f0dbc58e2f">Summary of Significant Accounting Policies&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Basis of Presentation and Significant Accounting Policies&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accompanying unaudited Condensed Consolidated Financial Statements were prepared in accordance with accounting principles generally accepted in the United States (&#x201c;GAAP&#x201d;) 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 March 1, 2021. 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&#160;30, 2021 are not necessarily indicative of the results expected for the full year ending December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Reclassifications&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We reclassified certain amounts in our Condensed Consolidated Statements of Cash Flows within the cash from operating activities section in the prior year to conform to the current year's presentation. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Changes in Accounting Policies&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Except as described below under&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Recently Adopted Accounting Pronouncements&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, there have been no significant changes in our accounting policies from those disclosed in our annual consolidated financial statements and the related notes included in our Annual Report.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;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 assets and liabilities assumed in business combinations, fair value of financial instruments, capitalized software 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 valuation and assumptions underlying stock-based compensation and other equity instruments. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In light of the unknown duration and severity of COVID-19, we face a greater degree of uncertainty than normal in making the judgments and estimates needed to apply our significant accounting policies. We assessed certain accounting matters that generally require consideration of forecasted financial information in context with the information reasonably available to us and the unknown future impacts of COVID-19 as of June&#160;30, 2021 and through the date of this report. The accounting matters assessed included, but were not limited to, our allowance for credit losses, the carrying value of goodwill and other long-lived assets, performance-based compensation and income taxes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of the date of our Condensed Consolidated Financial Statements, we are not aware of any specific event or circumstance that would require us to update our estimates or judgments or to revise the carrying value of our assets or liabilities. However, these estimates and judgments may change as new events occur and additional information is obtained, which may result in changes being recognized in our consolidated financial statements in future periods. While we considered the effects of COVID-19 in our estimates and assumptions, due to the level of uncertainty regarding the economic and operational impacts of COVID-19 on our business, there may be other judgments and assumptions that we have not considered. Such judgments and assumptions could result in a meaningful impact on our financial statements in future periods. Actual results could differ from those estimates and any such differences may have a material impact on our Condensed Consolidated Financial Statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Net Income per Common Share&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net income 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 income per common share (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.426%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;br/&gt;June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended&lt;br/&gt;June 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average common shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,553&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,259&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,484&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,219&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Weighted average unvested restricted shares subject to repurchase&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average common shares outstanding; basic&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,548&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,254&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,479&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,214&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Plus:  Weighted average options, restricted stock units and restricted shares used to compute diluted net income per common share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,126&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,360&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,433&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average common shares outstanding; diluted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,674&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,697&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,647&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the three and six months ended June&#160;30, 2021 and 2020, an aggregate of 120,000 and 146,000 shares, respectively, underlying performance-based restricted stock units ("PSUs") were not included in the computations of diluted and anti-dilutive shares as they are considered contingently issuable upon the satisfaction of predefined performance measures and their performance measures have not been met.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Restricted stock units ("RSUs") with an anti-dilutive effect were excluded from the calculation of weighted average number of shares used to compute diluted net income per common share and they were not material for the three and six months ended June&#160;30, 2021 and 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recent Accounting Pronouncements Adopted in 2020&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2016, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") No. 2016-13,&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;("ASU 2016-13"), which amends the current accounting guidance and requires the measurement of all expected losses based on historical experience, current conditions and reasonable and supportable forecasts. This guidance amends the accounting for credit losses for available-for-sale investment securities and purchased financial assets with credit deterioration. We adopted ASU 2016-13 on January 1, 2020. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In August 2018, the FASB issued ASU No. 2018-15,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;&#160;Intangibles&#x2014;Goodwill and Other&#x2014;Internal-Use Software (Subtopic 350-40): Customer&#x2019;s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;("ASU 2018-15"), a series of amendments which align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal use software license). The accounting for the service element of a hosting arrangement that is a service contract is not affected by these amendments. We adopted ASU 2018-15 on January 1, 2020. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recent Accounting Pronouncements Adopted in 2021&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;In December 2019, the FASB issued ASU No. 2019-12,&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%"&gt;Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;("ASU 2019-12").&#160;This amendment was issued to simplify the accounting for income taxes by removing certain exceptions for recognizing deferred taxes, performing intraperiod allocation, and calculating income taxes in interim periods. Further, ASU 2019-12 adds guidance to reduce complexity in certain areas, including recognizing deferred taxes for tax basis goodwill and allocating taxes to members of a consolidated group. This guidance also requires an entity to reflect the effect of an enacted change in tax laws or rates in its effective income tax rate in the first interim period that includes the enactment date of the new legislation, aligning the timing of recognition of the effects from enacted tax law changes on the effective income tax rate with the effects on deferred income tax assets and liabilities. Under existing guidance, an entity recognizes the effects of the enacted tax law change on the effective income tax rate in the period that includes the effective date of the tax law. We adopted ASU 2019-12 on January 1, 2021. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures.&lt;/span&gt;&lt;/div&gt;</us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RleHRyZWdpb246ZWVjNTIwMjc3NzUxNDA1ZWIyNTIxM2I2Y2E5MmYxZWNfODU1NA_3333dbd2-4e9c-4dff-81a4-929571afbbcc">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 (&#x201c;GAAP&#x201d;) 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 March 1, 2021. 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.</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:PriorPeriodReclassificationAdjustmentDescription
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RleHRyZWdpb246ZWVjNTIwMjc3NzUxNDA1ZWIyNTIxM2I2Y2E5MmYxZWNfODU0NA_c0026366-4cfd-4b93-9491-88c752911fa9">ReclassificationsWe reclassified certain amounts in our Condensed Consolidated Statements of Cash Flows within the cash from operating activities section in the prior year to conform to the current year's presentation.</us-gaap:PriorPeriodReclassificationAdjustmentDescription>
    <us-gaap:UseOfEstimates
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RleHRyZWdpb246ZWVjNTIwMjc3NzUxNDA1ZWIyNTIxM2I2Y2E5MmYxZWNfODU2Ng_5ec87369-48f4-4c3a-a952-532322fd6b52">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;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 assets and liabilities assumed in business combinations, fair value of financial instruments, capitalized software 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 valuation and assumptions underlying stock-based compensation and other equity instruments. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In light of the unknown duration and severity of COVID-19, we face a greater degree of uncertainty than normal in making the judgments and estimates needed to apply our significant accounting policies. We assessed certain accounting matters that generally require consideration of forecasted financial information in context with the information reasonably available to us and the unknown future impacts of COVID-19 as of June&#160;30, 2021 and through the date of this report. The accounting matters assessed included, but were not limited to, our allowance for credit losses, the carrying value of goodwill and other long-lived assets, performance-based compensation and income taxes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of the date of our Condensed Consolidated Financial Statements, we are not aware of any specific event or circumstance that would require us to update our estimates or judgments or to revise the carrying value of our assets or liabilities. However, these estimates and judgments may change as new events occur and additional information is obtained, which may result in changes being recognized in our consolidated financial statements in future periods. While we considered the effects of COVID-19 in our estimates and assumptions, due to the level of uncertainty regarding the economic and operational impacts of COVID-19 on our business, there may be other judgments and assumptions that we have not considered. Such judgments and assumptions could result in a meaningful impact on our financial statements in future periods. Actual results could differ from those estimates and any such differences may have a material impact on our Condensed Consolidated Financial Statements.&lt;/span&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RleHRyZWdpb246ZWVjNTIwMjc3NzUxNDA1ZWIyNTIxM2I2Y2E5MmYxZWNfODU2Nw_01c872de-f87b-4660-bca6-a3f218d1ea20">Net Income per Common ShareNet income 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.</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RleHRyZWdpb246ZWVjNTIwMjc3NzUxNDA1ZWIyNTIxM2I2Y2E5MmYxZWNfODU0MQ_9b528da2-6a87-4296-a7be-03dff5a85300">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 income per common share (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.426%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;br/&gt;June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended&lt;br/&gt;June 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average common shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,553&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,259&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,484&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,219&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Weighted average unvested restricted shares subject to repurchase&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average common shares outstanding; basic&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,548&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,254&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,479&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,214&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Plus:  Weighted average options, restricted stock units and restricted shares used to compute diluted net income per common share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,126&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,360&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,433&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average common shares outstanding; diluted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,674&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,697&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,647&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMi0yLTEtMS0w_3840314d-4b98-401e-9065-8d0ede6e48fd"
      unitRef="shares">34553000</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMi00LTEtMS0w_f1130eb3-08dd-43e0-aeec-8de0c10db017"
      unitRef="shares">34259000</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMi02LTEtMS0w_494a9521-d230-4673-a92e-13113d360ec6"
      unitRef="shares">34484000</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMi04LTEtMS0w_a7ea09f1-2f07-41c2-ab9a-41fabccc40c9"
      unitRef="shares">34219000</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
    <us-gaap:WeightedAverageNumberOfSharesRestrictedStock
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMy0yLTEtMS0w_ea218584-c3e7-460c-b51b-619e7d3ee788"
      unitRef="shares">5000</us-gaap:WeightedAverageNumberOfSharesRestrictedStock>
    <us-gaap:WeightedAverageNumberOfSharesRestrictedStock
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMy00LTEtMS0w_3d7764e5-9d0e-47a8-b384-60d4429391af"
      unitRef="shares">5000</us-gaap:WeightedAverageNumberOfSharesRestrictedStock>
    <us-gaap:WeightedAverageNumberOfSharesRestrictedStock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMy02LTEtMS0w_54cde9dc-384b-4713-a248-2610673cdc17"
      unitRef="shares">5000</us-gaap:WeightedAverageNumberOfSharesRestrictedStock>
    <us-gaap:WeightedAverageNumberOfSharesRestrictedStock
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMy04LTEtMS0w_41f2e3c0-974f-4c4e-9ec6-46674d0f7396"
      unitRef="shares">5000</us-gaap:WeightedAverageNumberOfSharesRestrictedStock>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfNC0yLTEtMS0w_973c4382-c282-4920-b799-e90a5a1081b4"
      unitRef="shares">34548000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfNC00LTEtMS0w_bf561d48-d96e-4959-80c1-19e970e09426"
      unitRef="shares">34254000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfNC02LTEtMS0w_b0ce05a3-e5e2-4f22-ae2a-97079825a8a9"
      unitRef="shares">34479000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfNC04LTEtMS0w_14d091c7-5520-4c27-87d4-a23ef003d92f"
      unitRef="shares">34214000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMTEtMi0xLTEtMA_527c3c08-646b-45a9-ba0c-f53828a9a484"
      unitRef="shares">1126000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMTEtNC0xLTEtMA_6dbb1f30-4cea-4b89-a934-272e4ec42ae1"
      unitRef="shares">1360000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMTEtNi0xLTEtMA_14941814-4014-4ce2-b723-113a942cbe4d"
      unitRef="shares">1218000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMTEtOC0xLTEtMA_bb77526e-4104-493c-870b-7c337f0670e7"
      unitRef="shares">1433000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMTItMi0xLTEtMA_b3f34a5e-33b7-4d28-be15-a5fee34830e0"
      unitRef="shares">35674000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMTItNC0xLTEtMA_10e33752-7375-4d42-8751-204ad261cb44"
      unitRef="shares">35614000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMTItNi0xLTEtMA_5444d353-d86b-48df-93aa-ba48074525a7"
      unitRef="shares">35697000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RhYmxlOjNjMTNjNDA2ZjQ5MDRkOWNiNWY1YTgwMGEwN2I0MTUyL3RhYmxlcmFuZ2U6M2MxM2M0MDZmNDkwNGQ5Y2I1ZjVhODAwYTA3YjQxNTJfMTItOC0xLTEtMA_f3ce131b-42df-413b-8be2-50582f439793"
      unitRef="shares">35647000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i90b2071de2174e32a7146ce1f7bac234_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RleHRyZWdpb246ZWVjNTIwMjc3NzUxNDA1ZWIyNTIxM2I2Y2E5MmYxZWNfNDkxMg_44a3406e-4187-46ef-ad3b-d49946b81c74"
      unitRef="shares">120000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ibf594887c7584e618bd23b7fc1ac52bf_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RleHRyZWdpb246ZWVjNTIwMjc3NzUxNDA1ZWIyNTIxM2I2Y2E5MmYxZWNfNDkxMg_abaaf4a2-64cb-4d30-8d57-75d9b5ca54cb"
      unitRef="shares">120000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="iac83eee40e9f496bab5e9fbd3730502a_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RleHRyZWdpb246ZWVjNTIwMjc3NzUxNDA1ZWIyNTIxM2I2Y2E5MmYxZWNfMjc0ODc3OTA3ODA5NQ_a6e8d177-2a4a-47fe-afea-1ac985f8aa3c"
      unitRef="shares">146000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i135d0ebcf8b244328b43951145b259a5_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RleHRyZWdpb246ZWVjNTIwMjc3NzUxNDA1ZWIyNTIxM2I2Y2E5MmYxZWNfMjc0ODc3OTA3ODA5NQ_c463e780-947b-46ca-a61f-6d331b7bfa8e"
      unitRef="shares">146000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF8zNy9mcmFnOmVlYzUyMDI3Nzc1MTQwNWViMjUyMTNiNmNhOTJmMWVjL3RleHRyZWdpb246ZWVjNTIwMjc3NzUxNDA1ZWIyNTIxM2I2Y2E5MmYxZWNfODU3MA_ff83b2aa-170e-4dd9-8245-8e807ff38dd6">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recent Accounting Pronouncements Adopted in 2020&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2016, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") No. 2016-13,&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;("ASU 2016-13"), which amends the current accounting guidance and requires the measurement of all expected losses based on historical experience, current conditions and reasonable and supportable forecasts. This guidance amends the accounting for credit losses for available-for-sale investment securities and purchased financial assets with credit deterioration. We adopted ASU 2016-13 on January 1, 2020. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In August 2018, the FASB issued ASU No. 2018-15,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;&#160;Intangibles&#x2014;Goodwill and Other&#x2014;Internal-Use Software (Subtopic 350-40): Customer&#x2019;s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;("ASU 2018-15"), a series of amendments which align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal use software license). The accounting for the service element of a hosting arrangement that is a service contract is not affected by these amendments. We adopted ASU 2018-15 on January 1, 2020. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recent Accounting Pronouncements Adopted in 2021&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;In December 2019, the FASB issued ASU No. 2019-12,&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%"&gt;Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;("ASU 2019-12").&#160;This amendment was issued to simplify the accounting for income taxes by removing certain exceptions for recognizing deferred taxes, performing intraperiod allocation, and calculating income taxes in interim periods. Further, ASU 2019-12 adds guidance to reduce complexity in certain areas, including recognizing deferred taxes for tax basis goodwill and allocating taxes to members of a consolidated group. This guidance also requires an entity to reflect the effect of an enacted change in tax laws or rates in its effective income tax rate in the first interim period that includes the enactment date of the new legislation, aligning the timing of recognition of the effects from enacted tax law changes on the effective income tax rate with the effects on deferred income tax assets and liabilities. Under existing guidance, an entity recognizes the effects of the enacted tax law change on the effective income tax rate in the period that includes the effective date of the tax law. We adopted ASU 2019-12 on January 1, 2021. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:BusinessCombinationDisclosureTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfMTM4MA_aefe4874-3839-40c5-925f-c5a4acc6cb59">Divestitures &lt;div style="margin-top:3pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Divestiture of MyCase&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On September 30, 2020, we completed our divestiture of 100% of our issued and outstanding equity interests of MyCase, Inc. ("MyCase"), a former wholly owned subsidiary that provided legal practice and case management software solutions to our legal customers, for $193.0&#160;million, consisting of $192.2&#160;million of cash proceeds, plus a $2.2&#160;million employee retention bonus pool funded by us, less cash divested of $0.8&#160;million and a preliminary working capital adjustment of $0.6&#160;million (the "MyCase Transaction"). The retention bonus pool is refundable to the Company to the extent that MyCase employees are terminated prior to the retention period, which is one year from the closing date of the MyCase Transaction.  &lt;/span&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognized a pre-tax gain on the sale of $188.0&#160;million on the MyCase Transaction, consisting of cash proceeds of $192.2&#160;million, less net assets divested of $4.6&#160;million, plus an adjustment in the employee retention bonus pool of $0.4&#160;million. Net assets divested is primarily comprised of capitalized software of $3.9&#160;million, deferred revenue of $2.8&#160;million and goodwill allocated to MyCase of $2.3&#160;million. The gain on the sale was recorded within &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Other income (loss), net&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; in our Condensed Consolidated Statements of Operations during the three months ended September 30, 2020. Income received during the three and six months ended June&#160;30, 2021 in relation to the transition services provided by us to MyCase was $0.3&#160;million and $0.7&#160;million, and is included within &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Other income (loss), net&lt;/span&gt; in our Condensed Consolidated Statements of Operations.</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration
      contextRef="i33d25f7a5d2e44dcb8c9b0bef0ed6980_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfMzA4_bd853f30-9fd0-4705-801a-1f065a680052"
      unitRef="usd">193000000.0</us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration>
    <us-gaap:ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries
      contextRef="i367df11d249b4cd8a30f0f498809caba_D20200930-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfMzI2_d95985fa-c51e-4b9e-a0a3-6559d8fd5558"
      unitRef="usd">192200000</us-gaap:ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries>
    <us-gaap:NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1
      contextRef="i367df11d249b4cd8a30f0f498809caba_D20200930-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfMzU0_4a03da0a-bead-4bd2-915c-b6ce5b3450f4"
      unitRef="usd">2200000</us-gaap:NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1>
    <us-gaap:CashDivestedFromDeconsolidation
      contextRef="i367df11d249b4cd8a30f0f498809caba_D20200930-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfNDIz_b654e283-9d2d-48af-84b7-81f18b57a4b7"
      unitRef="usd">800000</us-gaap:CashDivestedFromDeconsolidation>
    <appf:DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment
      contextRef="i367df11d249b4cd8a30f0f498809caba_D20200930-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfNDc0_3284a470-53d3-45e1-a8c9-02effc380607"
      unitRef="usd">600000</appf:DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment>
    <appf:DisposalGroupIncludingDiscontinuedOperationRetentionPeriod
      contextRef="i367df11d249b4cd8a30f0f498809caba_D20200930-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfMTM4Mw_2daa3035-8568-4dee-b642-e87ff4601d2b">P1Y</appf:DisposalGroupIncludingDiscontinuedOperationRetentionPeriod>
    <us-gaap:DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax
      contextRef="i367df11d249b4cd8a30f0f498809caba_D20200930-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfNzUz_db140ff7-7fda-4863-972c-82e2d4889ce1"
      unitRef="usd">188000000.0</us-gaap:DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax>
    <us-gaap:ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries
      contextRef="i367df11d249b4cd8a30f0f498809caba_D20200930-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfODE0_d95985fa-c51e-4b9e-a0a3-6559d8fd5558"
      unitRef="usd">192200000</us-gaap:ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries>
    <us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperation
      contextRef="i33d25f7a5d2e44dcb8c9b0bef0ed6980_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfODQ2_c1daeeab-a86f-4262-a695-f9549d3dfbb2"
      unitRef="usd">4600000</us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperation>
    <appf:NoncashOrPartNoncashDivestitureAdjustmentToConsideration
      contextRef="i367df11d249b4cd8a30f0f498809caba_D20200930-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfMTA5OTUxMTYyOTQzMA_78975e3f-fcd8-4583-a18b-9ec1d04cdea4"
      unitRef="usd">400000</appf:NoncashOrPartNoncashDivestitureAdjustmentToConsideration>
    <appf:DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware
      contextRef="i33d25f7a5d2e44dcb8c9b0bef0ed6980_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfOTIw_c2b96867-b93c-4b29-8716-abdaf1b73148"
      unitRef="usd">3900000</appf:DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationDeferredRevenue
      contextRef="i33d25f7a5d2e44dcb8c9b0bef0ed6980_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfOTQ0_5c5dcc0a-db42-472f-bb0a-70f639874e21"
      unitRef="usd">2800000</us-gaap:DisposalGroupIncludingDiscontinuedOperationDeferredRevenue>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationGoodwill1
      contextRef="i33d25f7a5d2e44dcb8c9b0bef0ed6980_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfOTgz_1e7aa1b8-7a9f-49f0-ae66-532637c11b78"
      unitRef="usd">2300000</us-gaap:DisposalGroupIncludingDiscontinuedOperationGoodwill1>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationOtherIncome
      contextRef="i774464bfa41c4674b475cede92673cb1_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfMjc0ODc3OTA3MTE3MQ_35920129-50ea-4e2b-aa73-9a1ac53b6412"
      unitRef="usd">300000</us-gaap:DisposalGroupIncludingDiscontinuedOperationOtherIncome>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationOtherIncome
      contextRef="i48eeacffc6e94a0085458e1b4f4a735f_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80MC9mcmFnOjkxYjEwMWRlZDI2ZjRiNTlhODFiZGQxZGExMDBkYjYxL3RleHRyZWdpb246OTFiMTAxZGVkMjZmNGI1OWE4MWJkZDFkYTEwMGRiNjFfMTI2OA_fdec4e9a-5aa3-4c81-9364-eddf38bfb833"
      unitRef="usd">700000</us-gaap:DisposalGroupIncludingDiscontinuedOperationOtherIncome>
    <appf:InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RleHRyZWdpb246ZThjNDBmYmExZjkwNDRiZGE2MDkwNzFiMjgzYTU5YzFfMzQyMQ_df0179c7-2e26-40c4-b035-677e2225845f">Investment Securities and Fair Value Measurements&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Investment Securities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Investment securities classified as available-for-sale consisted of the following as of June&#160;30, 2021 and December&#160;31, 2020&#160;(in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:17pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.515%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.515%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.515%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.208%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Amortized Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Unrealized Gains&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Unrealized Losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,442&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,439&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,842&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,232&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total available-for-sale investment securities&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114,509&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(25)&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114,519&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:18pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.515%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.515%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.515%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.208%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Amortized Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Unrealized Gains&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Unrealized Losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency securities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,104&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,847&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,894&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total available-for-sale investment securities&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,951&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,026&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:13pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For available-for-sale debt securities in an unrealized loss position, we first assess whether we intend to sell, or whether it is more likely than not that we will be required to sell the security before recovery of its amortized cost basis. If either of these criteria is met, the security&#x2019;s amortized cost basis is written down to fair value through income. For securities in an unrealized loss position that do not meet these criteria, we evaluate whether the decline in fair value has resulted from&#160;credit loss&#160;or other factors. If this assessment indicates a&#160;credit loss&#160;exists, the credit-related portion of the loss is recorded as an allowance for losses on the security. No allowance for credit losses for available-for-sale investment securities was recorded as of June&#160;30, 2021 or December&#160;31, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June&#160;30, 2021 and December&#160;31, 2020, the contractual maturities of our investments did not exceed&#160;36 months. The fair values of available-for-sale investment securities, by remaining contractual maturity, are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:17pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.490%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.208%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Amortized Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Amortized Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Due in one year or less&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102,950&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102,978&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,197&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,256&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Due after one year through three years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,559&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,541&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,754&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,770&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total available-for-sale investment securities&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114,509&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114,519&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,951&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,026&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:7pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the six months ended June&#160;30, 2021 and 2020, we had sales and maturities (which include calls) of investment securities, as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:17pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.490%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.208%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Realized Gains&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Realized Losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Proceeds from Sales &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Proceeds from Maturities&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency securities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.369%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.369%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.369%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.374%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Realized Gains&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Realized Losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Proceeds from Sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Proceeds from Maturities&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,006&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,878&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,058&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,942&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:7pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Interest income, net of the amortization and accretion of the premium and discount, was $0.1 million for the three months ended June&#160;30, 2021 and 2020, and $0.1 million for the six months ended June&#160;30, 2021 and $0.2 million for the six months ended June&#160;30, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Fair Value Measurements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Recurring Fair Value Measurements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Financial assets and financial liabilities are classified in their entirety based on the lowest level of input that is significant to the fair value measurement. The following tables summarize our financial assets measured at fair value on a recurring basis as of June&#160;30, 2021 and December&#160;31, 2020 by level within the fair value hierarchy (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:17pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.741%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.389%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.389%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.389%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.393%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level&#160;1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level&#160;2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total&#160;Fair&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash equivalents:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,030&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,030&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Available-for-sale investment securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,439&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,439&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,232&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,232&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67,762&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,287&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;132,049&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.741%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.389%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.389%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.389%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.393%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level&#160;2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total&#160;Fair&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash equivalents:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,749&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,749&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,433&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,433&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Available-for-sale investment securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,894&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,894&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;120,076&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,132&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,208&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:7pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying amounts of restricted cash, accounts receivable, accounts payable and accrued liabilities approximate fair value because of the short maturity of these items. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;There were no changes to our valuation techniques used to measure financial asset and financial liability fair values on a recurring basis during the six months ended June&#160;30, 2021. The valuation techniques for the financial assets in the tables above are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Cash Equivalents&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June&#160;30, 2021 and December&#160;31, 2020, cash equivalents include cash invested in money market funds, commercial paper, and treasury securities with a maturity of three months or less. Fair value is based on market prices for identical assets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Available-for-Sale Investment Securities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;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.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Non-Recurring Fair Value Measurements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certain assets, including goodwill, intangible assets and our note receivable with SecureDocs, Inc., are also subject to measurement at fair value on a non-recurring basis using Level 3 measurement, but only when they are deemed to be impaired. For the six months ended June&#160;30, 2021 and 2020, no impairments were identified on those assets required to be measured at fair value on a non-recurring basis.&lt;/span&gt;&lt;/div&gt;</appf:InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock>
    <us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RleHRyZWdpb246ZThjNDBmYmExZjkwNDRiZGE2MDkwNzFiMjgzYTU5YzFfMzQyOA_784c7a5a-9a64-4285-8469-e0d4bf02a368">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Investment securities classified as available-for-sale consisted of the following as of June&#160;30, 2021 and December&#160;31, 2020&#160;(in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:17pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.515%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.515%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.515%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.208%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Amortized Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Unrealized Gains&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Unrealized Losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,442&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,439&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,842&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,232&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total available-for-sale investment securities&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114,509&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(25)&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114,519&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:18pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.515%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.515%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.515%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.208%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Amortized Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Unrealized Gains&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Unrealized Losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency securities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,104&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,847&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,894&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total available-for-sale investment securities&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,951&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,026&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i56da3fb104fe42b1b4bfe3ac2a7f1b72_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfMi0xLTEtMS0w_8a505315-f511-48f7-ab21-28fbdbf46c3d"
      unitRef="usd">49442000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i56da3fb104fe42b1b4bfe3ac2a7f1b72_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfMi0zLTEtMS0w_47e1c772-d43d-4a66-a8e6-cd2acba40718"
      unitRef="usd">4000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i56da3fb104fe42b1b4bfe3ac2a7f1b72_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfMi01LTEtMS0w_5ac761bc-3d24-4f3c-9bc5-36e3002440ed"
      unitRef="usd">7000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i56da3fb104fe42b1b4bfe3ac2a7f1b72_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfMi03LTEtMS0w_75e893b0-0baf-4022-b879-bbdec94bcd04"
      unitRef="usd">49439000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i59308c55c45a45819932752a6679c2f8_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfMy0xLTEtMS0w_36fdecea-a0ad-4b61-8172-2300508713a9"
      unitRef="usd">11842000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i59308c55c45a45819932752a6679c2f8_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfMy0zLTEtMS0w_3f2951bb-fb74-402d-9e88-5a949be24795"
      unitRef="usd">13000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i59308c55c45a45819932752a6679c2f8_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfMy01LTEtMS0w_42e4e8bd-04f1-45fd-bef2-e322d916403d"
      unitRef="usd">7000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i59308c55c45a45819932752a6679c2f8_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfMy03LTEtMS0w_b7a3ce9a-eed7-4d91-96dd-bd004c659bfc"
      unitRef="usd">11848000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i76c46d72aba34616a1d425fd2bacd0aa_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfNS0xLTEtMS0w_a369fc6e-767d-4308-a2c6-1dabf6c71e16"
      unitRef="usd">53225000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i76c46d72aba34616a1d425fd2bacd0aa_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfNS0zLTEtMS0w_ea55ed62-0725-4865-a0d8-1a6a91796f62"
      unitRef="usd">18000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i76c46d72aba34616a1d425fd2bacd0aa_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfNS01LTEtMS0w_484ea563-d946-4249-8a1b-436c16fd5e28"
      unitRef="usd">11000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i76c46d72aba34616a1d425fd2bacd0aa_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfNS03LTEtMS0w_deb772b1-2ea2-4a09-8f22-9240801d92dd"
      unitRef="usd">53232000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfNi0xLTEtMS0w_7057dd12-230e-4f3c-a40f-8881acb1c6e3"
      unitRef="usd">114509000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfNi0zLTEtMS0w_d9f3fdf6-144f-4637-946d-0cf24592340f"
      unitRef="usd">35000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfNi01LTEtMS0w_e44f69ca-c488-49d1-b030-2781dfbfe0ed"
      unitRef="usd">25000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmZjZTJlZGI5ODg1YzRkOTM4Yzc4M2VjNWYyY2VlYThjL3RhYmxlcmFuZ2U6ZmNlMmVkYjk4ODVjNGQ5MzhjNzgzZWM1ZjJjZWVhOGNfNi03LTEtMS0w_a6adb1ed-abfe-4410-8c76-af18474f3fe1"
      unitRef="usd">114519000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="ifded2f5021594db08f4bfac7b690d64a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU5N2RmNzYwZDdiNzRhZmI4ODFjZTUyMzVmMzZhYzY0L3RhYmxlcmFuZ2U6NTk3ZGY3NjBkN2I3NGFmYjg4MWNlNTIzNWYzNmFjNjRfMi0xLTEtMS0w_88daf276-434e-4133-870f-baf9788eafbe"
      unitRef="usd">17104000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="ifded2f5021594db08f4bfac7b690d64a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU5N2RmNzYwZDdiNzRhZmI4ODFjZTUyMzVmMzZhYzY0L3RhYmxlcmFuZ2U6NTk3ZGY3NjBkN2I3NGFmYjg4MWNlNTIzNWYzNmFjNjRfMi0zLTEtMS0w_44a4deb7-79f3-480d-9a82-86964036a81f"
      unitRef="usd">29000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="ifded2f5021594db08f4bfac7b690d64a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU5N2RmNzYwZDdiNzRhZmI4ODFjZTUyMzVmMzZhYzY0L3RhYmxlcmFuZ2U6NTk3ZGY3NjBkN2I3NGFmYjg4MWNlNTIzNWYzNmFjNjRfMi01LTEtMS0w_d315ac2f-8f52-44bd-98ec-496a263f3137"
      unitRef="usd">1000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ifded2f5021594db08f4bfac7b690d64a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU5N2RmNzYwZDdiNzRhZmI4ODFjZTUyMzVmMzZhYzY0L3RhYmxlcmFuZ2U6NTk3ZGY3NjBkN2I3NGFmYjg4MWNlNTIzNWYzNmFjNjRfMi03LTEtMS0w_152ba908-5944-43af-99b1-7738cc03d570"
      unitRef="usd">17132000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i2b52b0811f374a53b8d2a892b133dfc5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU5N2RmNzYwZDdiNzRhZmI4ODFjZTUyMzVmMzZhYzY0L3RhYmxlcmFuZ2U6NTk3ZGY3NjBkN2I3NGFmYjg4MWNlNTIzNWYzNmFjNjRfNS0xLTEtMS0w_626380be-1ef5-4b39-adc4-a27b63c96e2e"
      unitRef="usd">17847000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i2b52b0811f374a53b8d2a892b133dfc5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU5N2RmNzYwZDdiNzRhZmI4ODFjZTUyMzVmMzZhYzY0L3RhYmxlcmFuZ2U6NTk3ZGY3NjBkN2I3NGFmYjg4MWNlNTIzNWYzNmFjNjRfNS0zLTEtMS0w_71620994-0d44-4b75-9985-0c15b595c83b"
      unitRef="usd">47000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i2b52b0811f374a53b8d2a892b133dfc5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU5N2RmNzYwZDdiNzRhZmI4ODFjZTUyMzVmMzZhYzY0L3RhYmxlcmFuZ2U6NTk3ZGY3NjBkN2I3NGFmYjg4MWNlNTIzNWYzNmFjNjRfNS01LTEtMS0w_748eb050-61d9-45d1-aff9-1a66c6219259"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i2b52b0811f374a53b8d2a892b133dfc5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU5N2RmNzYwZDdiNzRhZmI4ODFjZTUyMzVmMzZhYzY0L3RhYmxlcmFuZ2U6NTk3ZGY3NjBkN2I3NGFmYjg4MWNlNTIzNWYzNmFjNjRfNS03LTEtMS0w_0cdc3897-189c-4b76-9ab4-feff5c502287"
      unitRef="usd">17894000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU5N2RmNzYwZDdiNzRhZmI4ODFjZTUyMzVmMzZhYzY0L3RhYmxlcmFuZ2U6NTk3ZGY3NjBkN2I3NGFmYjg4MWNlNTIzNWYzNmFjNjRfNi0xLTEtMS0w_2f34b58f-e0ac-4d8e-8a09-1401a2526f78"
      unitRef="usd">34951000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU5N2RmNzYwZDdiNzRhZmI4ODFjZTUyMzVmMzZhYzY0L3RhYmxlcmFuZ2U6NTk3ZGY3NjBkN2I3NGFmYjg4MWNlNTIzNWYzNmFjNjRfNi0zLTEtMS0w_fed1374f-1446-4e2c-9251-ce3c62de1a7c"
      unitRef="usd">76000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU5N2RmNzYwZDdiNzRhZmI4ODFjZTUyMzVmMzZhYzY0L3RhYmxlcmFuZ2U6NTk3ZGY3NjBkN2I3NGFmYjg4MWNlNTIzNWYzNmFjNjRfNi01LTEtMS0w_5fd63a24-3748-402b-8a40-3079c9a53284"
      unitRef="usd">1000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU5N2RmNzYwZDdiNzRhZmI4ODFjZTUyMzVmMzZhYzY0L3RhYmxlcmFuZ2U6NTk3ZGY3NjBkN2I3NGFmYjg4MWNlNTIzNWYzNmFjNjRfNi03LTEtMS0w_3408e708-3a2d-44ec-b0e5-d3952ee29a9c"
      unitRef="usd">35026000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RleHRyZWdpb246ZThjNDBmYmExZjkwNDRiZGE2MDkwNzFiMjgzYTU5YzFfMjc0ODc3OTA3MzMxNQ_09d89051-0a58-4ee6-820b-9904cfabd94e"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RleHRyZWdpb246ZThjNDBmYmExZjkwNDRiZGE2MDkwNzFiMjgzYTU5YzFfMjc0ODc3OTA3MzMxNQ_efdc5479-c82b-4b63-81c7-d44e15a864bb"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss>
    <appf:AvailableForSaleSecuritiesMaximumContractualMaturity
      contextRef="ic8f14e2f98b742f58bdddb87910e20b8_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RleHRyZWdpb246ZThjNDBmYmExZjkwNDRiZGE2MDkwNzFiMjgzYTU5YzFfMTA2Mg_8ed5edf1-3686-491e-b4d0-1989eab3f09c">P36M</appf:AvailableForSaleSecuritiesMaximumContractualMaturity>
    <appf:AvailableForSaleSecuritiesMaximumContractualMaturity
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RleHRyZWdpb246ZThjNDBmYmExZjkwNDRiZGE2MDkwNzFiMjgzYTU5YzFfMTA2Mg_e077aa26-bcdf-47ff-acb2-fb92681596b4">P36M</appf:AvailableForSaleSecuritiesMaximumContractualMaturity>
    <us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RleHRyZWdpb246ZThjNDBmYmExZjkwNDRiZGE2MDkwNzFiMjgzYTU5YzFfMzQ0Mw_b37f0874-c773-48d1-9e19-234ce5d81135">The fair values of available-for-sale investment securities, by remaining contractual maturity, are as follows (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.490%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.208%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Amortized Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Amortized Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Due in one year or less&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102,950&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102,978&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,197&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,256&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Due after one year through three years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,559&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,541&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,754&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,770&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total available-for-sale investment securities&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114,509&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114,519&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,951&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,026&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjVhNDAyZDRlODc0YzQ5MmM4ODI0MGIxYjk3ZGYyZmQzL3RhYmxlcmFuZ2U6NWE0MDJkNGU4NzRjNDkyYzg4MjQwYjFiOTdkZjJmZDNfMi0xLTEtMS0w_11bc3c71-3047-44c2-ad35-a05966228ffe"
      unitRef="usd">102950000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjVhNDAyZDRlODc0YzQ5MmM4ODI0MGIxYjk3ZGYyZmQzL3RhYmxlcmFuZ2U6NWE0MDJkNGU4NzRjNDkyYzg4MjQwYjFiOTdkZjJmZDNfMi0zLTEtMS0w_0c91189f-be38-4a5e-adb4-b071cf2d424b"
      unitRef="usd">102978000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjVhNDAyZDRlODc0YzQ5MmM4ODI0MGIxYjk3ZGYyZmQzL3RhYmxlcmFuZ2U6NWE0MDJkNGU4NzRjNDkyYzg4MjQwYjFiOTdkZjJmZDNfMi01LTEtMS0w_da2a6731-c492-451e-9893-70915fa08660"
      unitRef="usd">28197000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjVhNDAyZDRlODc0YzQ5MmM4ODI0MGIxYjk3ZGYyZmQzL3RhYmxlcmFuZ2U6NWE0MDJkNGU4NzRjNDkyYzg4MjQwYjFiOTdkZjJmZDNfMi03LTEtMS0w_0a8ccbfa-61cf-47d6-b2dc-a5bd151dca52"
      unitRef="usd">28256000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjVhNDAyZDRlODc0YzQ5MmM4ODI0MGIxYjk3ZGYyZmQzL3RhYmxlcmFuZ2U6NWE0MDJkNGU4NzRjNDkyYzg4MjQwYjFiOTdkZjJmZDNfMy0xLTEtMS0w_bd55b4cb-bf63-4787-b366-516ae01a89f4"
      unitRef="usd">11559000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjVhNDAyZDRlODc0YzQ5MmM4ODI0MGIxYjk3ZGYyZmQzL3RhYmxlcmFuZ2U6NWE0MDJkNGU4NzRjNDkyYzg4MjQwYjFiOTdkZjJmZDNfMy0zLTEtMS0w_8c8f371c-38f9-41e4-b3d1-f947186430f4"
      unitRef="usd">11541000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjVhNDAyZDRlODc0YzQ5MmM4ODI0MGIxYjk3ZGYyZmQzL3RhYmxlcmFuZ2U6NWE0MDJkNGU4NzRjNDkyYzg4MjQwYjFiOTdkZjJmZDNfMy01LTEtMS0w_01585b21-1cfd-4af2-b1b8-5a72bcfc4834"
      unitRef="usd">6754000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjVhNDAyZDRlODc0YzQ5MmM4ODI0MGIxYjk3ZGYyZmQzL3RhYmxlcmFuZ2U6NWE0MDJkNGU4NzRjNDkyYzg4MjQwYjFiOTdkZjJmZDNfMy03LTEtMS0w_466d2d7e-a51c-4653-bc8e-3406e879079c"
      unitRef="usd">6770000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjVhNDAyZDRlODc0YzQ5MmM4ODI0MGIxYjk3ZGYyZmQzL3RhYmxlcmFuZ2U6NWE0MDJkNGU4NzRjNDkyYzg4MjQwYjFiOTdkZjJmZDNfNC0xLTEtMS0w_c1edd868-c12f-483a-a68d-45bfd24af194"
      unitRef="usd">114509000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjVhNDAyZDRlODc0YzQ5MmM4ODI0MGIxYjk3ZGYyZmQzL3RhYmxlcmFuZ2U6NWE0MDJkNGU4NzRjNDkyYzg4MjQwYjFiOTdkZjJmZDNfNC0zLTEtMS0w_5c629ab7-e662-45a8-9dc5-81b2376f7c75"
      unitRef="usd">114519000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjVhNDAyZDRlODc0YzQ5MmM4ODI0MGIxYjk3ZGYyZmQzL3RhYmxlcmFuZ2U6NWE0MDJkNGU4NzRjNDkyYzg4MjQwYjFiOTdkZjJmZDNfNC01LTEtMS0w_f0d583bb-14d1-4d91-99d9-13bcb206a090"
      unitRef="usd">34951000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjVhNDAyZDRlODc0YzQ5MmM4ODI0MGIxYjk3ZGYyZmQzL3RhYmxlcmFuZ2U6NWE0MDJkNGU4NzRjNDkyYzg4MjQwYjFiOTdkZjJmZDNfNC03LTEtMS0w_203f8480-c35c-4e26-a461-359f92676d5b"
      unitRef="usd">35026000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:ScheduleOfRealizedGainLossTableTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RleHRyZWdpb246ZThjNDBmYmExZjkwNDRiZGE2MDkwNzFiMjgzYTU5YzFfMzQyNA_ffc784f0-5e86-4fcb-9ba2-17fe5aa16c5e">&lt;div style="margin-bottom:6pt;margin-top:7pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the six months ended June&#160;30, 2021 and 2020, we had sales and maturities (which include calls) of investment securities, as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:17pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.490%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.208%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Realized Gains&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Realized Losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Proceeds from Sales &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Proceeds from Maturities&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency securities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.369%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.369%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.369%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.374%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Realized Gains&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Realized Losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Proceeds from Sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Proceeds from Maturities&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,006&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,878&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,058&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,942&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfRealizedGainLossTableTextBlock>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGain
      contextRef="i15965b74e12e4d52b0ad7e65bcb1590e_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU1Zjg5Y2MzNTBiODQ2Y2FhOTk5Yzk3ZjUwMzVkZmRlL3RhYmxlcmFuZ2U6NTVmODljYzM1MGI4NDZjYWE5OTljOTdmNTAzNWRmZGVfMy0xLTEtMS0w_aaef6087-e85b-47a5-ab23-8198f6266ee1"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleRealizedGain>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss
      contextRef="i15965b74e12e4d52b0ad7e65bcb1590e_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU1Zjg5Y2MzNTBiODQ2Y2FhOTk5Yzk3ZjUwMzVkZmRlL3RhYmxlcmFuZ2U6NTVmODljYzM1MGI4NDZjYWE5OTljOTdmNTAzNWRmZGVfMy0zLTEtMS0w_2162a806-69ad-435b-baf6-d742bcc153fa"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="i15965b74e12e4d52b0ad7e65bcb1590e_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU1Zjg5Y2MzNTBiODQ2Y2FhOTk5Yzk3ZjUwMzVkZmRlL3RhYmxlcmFuZ2U6NTVmODljYzM1MGI4NDZjYWE5OTljOTdmNTAzNWRmZGVfMy01LTEtMS0w_810e6098-ddf6-4cd8-a863-ea6de26e4e93"
      unitRef="usd">0</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="i15965b74e12e4d52b0ad7e65bcb1590e_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU1Zjg5Y2MzNTBiODQ2Y2FhOTk5Yzk3ZjUwMzVkZmRlL3RhYmxlcmFuZ2U6NTVmODljYzM1MGI4NDZjYWE5OTljOTdmNTAzNWRmZGVfMy03LTEtMS0w_d3f8de8a-9628-4ece-b808-61e2907b34e6"
      unitRef="usd">5250000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGain
      contextRef="ifd6c3f5409b64a248d76969a2be4df49_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU1Zjg5Y2MzNTBiODQ2Y2FhOTk5Yzk3ZjUwMzVkZmRlL3RhYmxlcmFuZ2U6NTVmODljYzM1MGI4NDZjYWE5OTljOTdmNTAzNWRmZGVfNS0xLTEtMS0w_7de5187a-c2a2-426f-96a2-0e5866c3a94f"
      unitRef="usd">6000</us-gaap:DebtSecuritiesAvailableForSaleRealizedGain>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss
      contextRef="ifd6c3f5409b64a248d76969a2be4df49_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU1Zjg5Y2MzNTBiODQ2Y2FhOTk5Yzk3ZjUwMzVkZmRlL3RhYmxlcmFuZ2U6NTVmODljYzM1MGI4NDZjYWE5OTljOTdmNTAzNWRmZGVfNS0zLTEtMS0w_b48907d3-acd0-4ae6-95cb-0152e8e7893f"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="ifd6c3f5409b64a248d76969a2be4df49_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU1Zjg5Y2MzNTBiODQ2Y2FhOTk5Yzk3ZjUwMzVkZmRlL3RhYmxlcmFuZ2U6NTVmODljYzM1MGI4NDZjYWE5OTljOTdmNTAzNWRmZGVfNS01LTEtMS0w_1d17abb2-5c5d-4f86-9642-d378b880e8d4"
      unitRef="usd">42198000</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="ifd6c3f5409b64a248d76969a2be4df49_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU1Zjg5Y2MzNTBiODQ2Y2FhOTk5Yzk3ZjUwMzVkZmRlL3RhYmxlcmFuZ2U6NTVmODljYzM1MGI4NDZjYWE5OTljOTdmNTAzNWRmZGVfNS03LTEtMS0w_722d6ad1-0a66-44f3-876f-dbbea74d0b84"
      unitRef="usd">21500000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGain
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU1Zjg5Y2MzNTBiODQ2Y2FhOTk5Yzk3ZjUwMzVkZmRlL3RhYmxlcmFuZ2U6NTVmODljYzM1MGI4NDZjYWE5OTljOTdmNTAzNWRmZGVfNi0xLTEtMS0w_8b25c1fe-e18a-4f4f-b80b-bda94595759a"
      unitRef="usd">6000</us-gaap:DebtSecuritiesAvailableForSaleRealizedGain>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU1Zjg5Y2MzNTBiODQ2Y2FhOTk5Yzk3ZjUwMzVkZmRlL3RhYmxlcmFuZ2U6NTVmODljYzM1MGI4NDZjYWE5OTljOTdmNTAzNWRmZGVfNi0zLTEtMS0w_03eea6db-6982-4cec-b819-111bf9b169ce"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU1Zjg5Y2MzNTBiODQ2Y2FhOTk5Yzk3ZjUwMzVkZmRlL3RhYmxlcmFuZ2U6NTVmODljYzM1MGI4NDZjYWE5OTljOTdmNTAzNWRmZGVfNi01LTEtMS0w_0c67c66d-13fa-4040-b499-7070ba4363fc"
      unitRef="usd">42198000</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjU1Zjg5Y2MzNTBiODQ2Y2FhOTk5Yzk3ZjUwMzVkZmRlL3RhYmxlcmFuZ2U6NTVmODljYzM1MGI4NDZjYWE5OTljOTdmNTAzNWRmZGVfNi03LTEtMS0w_007de516-1595-4194-9993-91277b11318f"
      unitRef="usd">26750000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGain
      contextRef="ia9210dadeefa4ea087841f03e148956f_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfMi0xLTEtMS0w_b97934ba-6a6c-4307-86e8-43a419ba0ee8"
      unitRef="usd">5000</us-gaap:DebtSecuritiesAvailableForSaleRealizedGain>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss
      contextRef="ia9210dadeefa4ea087841f03e148956f_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfMi0zLTEtMS0w_13c5d306-2678-43aa-83bd-527633340a62"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="ia9210dadeefa4ea087841f03e148956f_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfMi01LTEtMS0w_47129a07-bb84-4c63-807d-42967c591d94"
      unitRef="usd">4006000</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="ia9210dadeefa4ea087841f03e148956f_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfMi03LTEtMS0w_1b83d8df-9a88-4934-9d62-7e4bfc31e295"
      unitRef="usd">4000000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGain
      contextRef="i03f7fe5dce0a42979585fb88ef579614_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfMy0xLTEtMS0w_b42b8954-5b74-4b90-bc65-c83e5879317e"
      unitRef="usd">24000</us-gaap:DebtSecuritiesAvailableForSaleRealizedGain>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss
      contextRef="i03f7fe5dce0a42979585fb88ef579614_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfMy0zLTEtMS0w_96b5d4f6-dfa6-46e4-a494-a0ed3514b45b"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="i03f7fe5dce0a42979585fb88ef579614_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfMy01LTEtMS0w_248c162e-bc82-4419-8cbf-f69f00746ca6"
      unitRef="usd">7878000</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="i03f7fe5dce0a42979585fb88ef579614_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfMy03LTEtMS0w_75ec3804-545c-4a30-8000-d54cdad434a6"
      unitRef="usd">1250000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGain
      contextRef="if1a3a8dfcaaa46d0a0d29f9510a5adb4_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfNS0xLTEtMS0w_41e10bee-1409-44de-993c-276f3edec5d3"
      unitRef="usd">4000</us-gaap:DebtSecuritiesAvailableForSaleRealizedGain>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss
      contextRef="if1a3a8dfcaaa46d0a0d29f9510a5adb4_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfNS0zLTEtMS0w_e83ee481-8129-4724-a091-06734c455c07"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="if1a3a8dfcaaa46d0a0d29f9510a5adb4_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfNS01LTEtMS0w_6056d553-2066-4a63-b452-7d5b9b447091"
      unitRef="usd">2058000</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="if1a3a8dfcaaa46d0a0d29f9510a5adb4_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfNS03LTEtMS0w_7959f3ee-23e2-470a-adac-6e194b3da142"
      unitRef="usd">2500000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGain
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfNi0xLTEtMS0w_6a9df012-9c4e-48f3-8125-5aad1f38c42c"
      unitRef="usd">33000</us-gaap:DebtSecuritiesAvailableForSaleRealizedGain>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfNi0zLTEtMS0w_a9066870-9dce-453e-9670-a60e087eb2ec"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfNi01LTEtMS0w_14927c23-65e9-41eb-93c1-24520f08f003"
      unitRef="usd">13942000</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjA2NDZmM2EyOGVkZjQ0OTVhMzk5ZmNjYzRlNDEwNjJmL3RhYmxlcmFuZ2U6MDY0NmYzYTI4ZWRmNDQ5NWEzOTlmY2NjNGU0MTA2MmZfNi03LTEtMS0w_938721ec-00c2-4d2e-a515-f56662bf1701"
      unitRef="usd">7750000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:InvestmentIncomeInterest
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RleHRyZWdpb246ZThjNDBmYmExZjkwNDRiZGE2MDkwNzFiMjgzYTU5YzFfMTQyOQ_2b497020-2a54-49df-8017-b233be8af6fa"
      unitRef="usd">100000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RleHRyZWdpb246ZThjNDBmYmExZjkwNDRiZGE2MDkwNzFiMjgzYTU5YzFfMTQyOQ_d45fa3f5-9800-40a2-adac-495712c69517"
      unitRef="usd">100000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RleHRyZWdpb246ZThjNDBmYmExZjkwNDRiZGE2MDkwNzFiMjgzYTU5YzFfMTA5OTUxMTYzMTM0Mg_8f86e318-e2e6-4293-b7ff-77cce48f6a9a"
      unitRef="usd">100000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RleHRyZWdpb246ZThjNDBmYmExZjkwNDRiZGE2MDkwNzFiMjgzYTU5YzFfMTA5OTUxMTYzMTM1MA_4eff543a-46e6-4c8a-b91a-fc71a2e7b0f6"
      unitRef="usd">200000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RleHRyZWdpb246ZThjNDBmYmExZjkwNDRiZGE2MDkwNzFiMjgzYTU5YzFfMzQyOQ_2bee0213-f72e-4f18-850e-0bc11133d4c5">The following tables summarize our financial assets measured at fair value on a recurring basis as of June&#160;30, 2021 and December&#160;31, 2020 by level within the fair value hierarchy (in thousands):&lt;div style="margin-top:17pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.741%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.389%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.389%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.389%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.393%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level&#160;1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level&#160;2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total&#160;Fair&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash equivalents:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,030&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,030&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Available-for-sale investment securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,439&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,439&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,232&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,232&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67,762&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,287&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;132,049&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.741%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.389%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.389%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.389%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.393%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level&#160;2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total&#160;Fair&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash equivalents:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,749&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,749&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,433&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,433&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Available-for-sale investment securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,894&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,894&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;120,076&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,132&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,208&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="id4e2074bc7a747a2a7487e7f6020cab0_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfMy0xLTEtMS0w_a6638214-38a6-4b99-bb13-508f7c81e74a"
      unitRef="usd">5030000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ie84087eb32e043b6bfc20bf40bbeae2d_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfMy0zLTEtMS0w_fee41e95-2cc0-44be-a8c1-f6db874799de"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ie0cd6cfdbf9f43bcb0e19d05fae4f2be_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfMy01LTEtMS0w_5e572eeb-3beb-4590-9a94-ab80e69c3f6e"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i60229432e790462faa0d63adc0e83c1a_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfMy03LTEtMS0w_a957b017-a279-4a67-908a-d27f5988e31a"
      unitRef="usd">5030000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="id65b9b4251e44b7bb8d49cd0064fdc15_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNC0xLTEtMS0w_a265a0e5-a4e9-41ce-b353-e5ef27b765d5"
      unitRef="usd">9500000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i5a8a82b15b4a423f8b7c1a59f1d8cc57_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNC0zLTEtMS0w_f30bf8a4-6414-4366-a33c-276d78c038f9"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i49309abb3af2468e9b9000d272a77669_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNC01LTEtMS0w_bcbfc4ab-51d8-452d-ba31-f9a86c348025"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i76fb3be8baa14e20970734c60a19ac99_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNC03LTEtMS0w_1d86768d-899c-4e15-8d56-026381d6f488"
      unitRef="usd">9500000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i45fe2184113b455d9d4ad00303c8d16e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNS0xLTEtMS0yMzM0_d02f7881-81eb-4c53-8f26-75ec4ca686c4"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i66d4f2457f6843a0ab6253fc765946dd_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNS0zLTEtMS0yMzM0_a96adce5-aa21-448e-9b20-303cc152f2ed"
      unitRef="usd">3000000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i4401a086f7114e7eadc2b001d40b948e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNS01LTEtMS0yMzM0_870b33aa-7b87-4725-8eb9-7492338c3c53"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i64b917f38ec14940aae1698f360bb899_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNS03LTEtMS0yMzM0_efae89c1-e455-4207-8071-a9adf6791780"
      unitRef="usd">3000000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i8acd92a53c2d4294b14c6faeb99eb4fd_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNi0xLTEtMS0w_6f2a8234-9349-4b2d-92a6-a3964e482031"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ib7b0d9701a90489aad465dff0aee5c52_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNi0zLTEtMS0w_5f9ef92b-dfa4-4eef-9942-3f4b8a2f0d9a"
      unitRef="usd">49439000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i96549b25df1a4687811cab8c1e4f4d63_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNi01LTEtMS0w_af6553b6-910a-498d-be6b-341562e8e7a6"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i77eb2ce76e20402ba7123add4e588368_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNi03LTEtMS0w_9a09b91a-65a8-4c00-92be-e4b83f5d7aa1"
      unitRef="usd">49439000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i3c609665be4947caa0fe9cb67e97e9a3_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNy0xLTEtMS0w_c0b27802-0f1b-4096-9c2f-b9e7a25228a8"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i97040d7de9894b019db7f54868216ae4_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNy0zLTEtMS0w_6efdf8a7-2d00-408c-8834-a02715c69e9e"
      unitRef="usd">11848000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="if6f84d063d944d4a8b642dfa61dc2000_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNy01LTEtMS0w_0ba66b54-e1ec-4d86-8df7-337d5150d475"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="id7db59f74e114595993689f8b7125d60_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfNy03LTEtMS0w_98f21e64-a5b3-41ba-898b-cb18260a7b3f"
      unitRef="usd">11848000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="id65b9b4251e44b7bb8d49cd0064fdc15_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfOS0xLTEtMS0w_a4e14c5d-f46e-4891-8a66-20632b1679d6"
      unitRef="usd">53232000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i5a8a82b15b4a423f8b7c1a59f1d8cc57_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfOS0zLTEtMS0w_1a019081-c08c-4f43-9a8e-18d898c17e16"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i49309abb3af2468e9b9000d272a77669_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfOS01LTEtMS0w_b3b3a116-ffc8-4a78-a977-4f767f04c613"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i76fb3be8baa14e20970734c60a19ac99_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfOS03LTEtMS0w_3f556b9f-a620-489f-8693-9482aa44fcb0"
      unitRef="usd">53232000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i86d1e2dc88c549198359d092c9b8bc09_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfMTAtMS0xLTEtMA_6f6d292b-6742-44a6-82a9-b4b9a54efc1a"
      unitRef="usd">67762000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ifebaf37c8a87482fa12c7b35a9c80a54_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfMTAtMy0xLTEtMA_26d6d86d-1ba8-4074-8585-d64bc3a673f6"
      unitRef="usd">64287000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ia3b151460d95496d824d89098946b105_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfMTAtNS0xLTEtMA_603be28a-5651-487c-8a15-85f53bf6c774"
      unitRef="usd">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i2f03e80423374fada4ae43730a5134d9_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOmE2ZGM5MmNmYTY4ZTQ2MDA5ZjMwZjQxMDQ1OGE1OGUyL3RhYmxlcmFuZ2U6YTZkYzkyY2ZhNjhlNDYwMDlmMzBmNDEwNDU4YTU4ZTJfMTAtNy0xLTEtMA_10793c0a-15fb-4157-b82a-41f3fb6ceac2"
      unitRef="usd">132049000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="idb9f22c643ff44cd96d09488f0644480_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfMy0xLTEtMS0w_4f60a969-9f4b-4dfb-8598-e3a909d92ff2"
      unitRef="usd">4749000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i3a3a482479504793aec882f79422ac1a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfMy0zLTEtMS0w_21cacb7b-4e8d-459f-8c49-d39529380ed7"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="if6b73ff9cad64b4baa875541b4561bd5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfMy01LTEtMS0w_18bbd260-9eed-46c5-bc82-c49f8082de00"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i923d4fcb79e945a1801a0d96a3188cab_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfMy03LTEtMS0w_8b2b2ab4-3c59-48e1-9f34-b532d61360ef"
      unitRef="usd">4749000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i11a4d8f2a6d54fb787677b4a13d36e00_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfNC0xLTEtMS0w_9700d0c9-1726-474e-afda-b9f108d91a95"
      unitRef="usd">97433000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i4adf188b204d407ea51a500a7125bf44_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfNC0zLTEtMS0w_398bade2-feb7-4bf7-a84d-546c6e69ff58"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i84a071d649694a3a80fa9df5a64cd823_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfNC01LTEtMS0w_94d05bf5-b19d-49be-a15b-8f1b90d74fd2"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i134d4bb8b10a422e8063af0b9f14da06_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfNC03LTEtMS0w_17a5e494-08d6-4c0b-8362-4c4f780803bf"
      unitRef="usd">97433000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="idaab8417abd04000b0340612e2aa6085_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfNy0xLTEtMS0w_90d2fb93-2c0d-4786-b0ab-0e5e9a5f7ac7"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i3e9e06d278ab4c9daaddb7ce9233ecc6_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfNy0zLTEtMS0w_dd99da32-b455-4fb1-a857-fd2918e4bf28"
      unitRef="usd">17132000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ie794bb6c0c4a46489164eda61ea3f20d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfNy01LTEtMS0w_d02ee23d-c7bf-48f5-ad7d-c86d844ccc70"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i6e1dff00be534a8ba0adde1cc689e0e8_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfNy03LTEtMS0w_9b622a79-2bbd-439c-b7ee-4819e1175486"
      unitRef="usd">17132000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i6dc28727b9244a9992ba6409a084cf54_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfOS0xLTEtMS0w_f84cda0a-3888-4fbe-9189-e4c35aa28cbf"
      unitRef="usd">17894000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ib1d362ca124e4762afce663c65356aa6_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfOS0zLTEtMS0w_6e9307d8-3819-4166-9d71-aa0be82c47ca"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="if9bb59d9275f4090944712f69e4fd78f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfOS01LTEtMS0w_a6e89e2b-7c37-43e3-88ba-8f99b2631aac"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ib8a8f4e1a99f4b7288fa9ec9396b98ca_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfOS03LTEtMS0w_be38e498-aecb-4f57-a60c-52a58f908124"
      unitRef="usd">17894000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i6dc28727b9244a9992ba6409a084cf54_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfMTAtMS0xLTEtMA_85e054ca-8239-4d63-8d7a-7b84c810a84e"
      unitRef="usd">120076000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ib1d362ca124e4762afce663c65356aa6_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfMTAtMy0xLTEtMA_ebdce115-cecc-48b6-bf9f-5b15b51847fa"
      unitRef="usd">17132000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="if9bb59d9275f4090944712f69e4fd78f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfMTAtNS0xLTEtMA_d2cd08c3-b3ca-47ee-9d4e-93352ece2c65"
      unitRef="usd">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ib8a8f4e1a99f4b7288fa9ec9396b98ca_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80My9mcmFnOmU4YzQwZmJhMWY5MDQ0YmRhNjA5MDcxYjI4M2E1OWMxL3RhYmxlOjY2OWI4ZmIxNzYwZDQyYzZhMTJmNDY2YWRmZDQ2MWNkL3RhYmxlcmFuZ2U6NjY5YjhmYjE3NjBkNDJjNmExMmY0NjZhZGZkNDYxY2RfMTAtNy0xLTEtMA_1a17a436-bae6-4e35-b307-3a6876cc6576"
      unitRef="usd">137208000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RleHRyZWdpb246NjczNjA2OGFjY2QwNGZiZjkwMjhmYTE0YWRlYThlNDBfNTE2_63c628ed-3c22-4ce7-b259-79505272def9">Capitalized Software Development Costs, net&lt;div style="margin-top:6pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Capitalized software development costs were as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.223%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.225%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;June 30,&lt;br/&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capitalized software development costs, gross&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111,042&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,974&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Accumulated amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(71,817)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(61,515)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capitalized software development costs, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,459&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:7pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Capitalized software development costs were $7.0 million and $7.1 million for the three months ended June&#160;30, 2021 and 2020, respectively, and $14.1 million and $13.8 million for the six months ended June&#160;30, 2021 and 2020, respectively. Amortization expense with respect to capitalized software development costs totaled $5.3 million and $4.5 million for the three months ended June&#160;30, 2021 and 2020, respectively, and $10.3 million and $8.7 million for the six months ended June&#160;30, 2021 and 2020, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future amortization expense with respect to capitalized software development costs is estimated as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:84.864%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.206%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Years Ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,545&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,432&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,357&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,891&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;Total amortization expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock>
    <appf:ScheduleOfCapitalizedComputerSoftwareTableTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RleHRyZWdpb246NjczNjA2OGFjY2QwNGZiZjkwMjhmYTE0YWRlYThlNDBfNTE1_d2fae9b8-f6c9-4995-89d6-8e5a29fa35d7">&lt;div style="margin-top:6pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Capitalized software development costs were as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.223%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.225%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;June 30,&lt;br/&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capitalized software development costs, gross&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111,042&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,974&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Accumulated amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(71,817)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(61,515)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capitalized software development costs, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,459&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</appf:ScheduleOfCapitalizedComputerSoftwareTableTextBlock>
    <us-gaap:CapitalizedComputerSoftwareGross
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RhYmxlOjFkMjBlMjE2M2MzZDRjNWY4NjE1YjEyMTRkMzBlYzI3L3RhYmxlcmFuZ2U6MWQyMGUyMTYzYzNkNGM1Zjg2MTViMTIxNGQzMGVjMjdfMS0yLTEtMS0w_2012e62f-1697-4bfe-92b5-0eeedda08331"
      unitRef="usd">111042000</us-gaap:CapitalizedComputerSoftwareGross>
    <us-gaap:CapitalizedComputerSoftwareGross
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RhYmxlOjFkMjBlMjE2M2MzZDRjNWY4NjE1YjEyMTRkMzBlYzI3L3RhYmxlcmFuZ2U6MWQyMGUyMTYzYzNkNGM1Zjg2MTViMTIxNGQzMGVjMjdfMS00LTEtMS0w_c1ab5e1c-ba5e-484f-a11a-a60f58acfd01"
      unitRef="usd">96974000</us-gaap:CapitalizedComputerSoftwareGross>
    <us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RhYmxlOjFkMjBlMjE2M2MzZDRjNWY4NjE1YjEyMTRkMzBlYzI3L3RhYmxlcmFuZ2U6MWQyMGUyMTYzYzNkNGM1Zjg2MTViMTIxNGQzMGVjMjdfMi0yLTEtMS0w_4a490017-4cb4-49ed-812f-48454fc2dbc2"
      unitRef="usd">71817000</us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization>
    <us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RhYmxlOjFkMjBlMjE2M2MzZDRjNWY4NjE1YjEyMTRkMzBlYzI3L3RhYmxlcmFuZ2U6MWQyMGUyMTYzYzNkNGM1Zjg2MTViMTIxNGQzMGVjMjdfMi00LTEtMS0w_a2f8217b-5d70-44ff-ac01-db247b316437"
      unitRef="usd">61515000</us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization>
    <us-gaap:CapitalizedComputerSoftwareNet
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RhYmxlOjFkMjBlMjE2M2MzZDRjNWY4NjE1YjEyMTRkMzBlYzI3L3RhYmxlcmFuZ2U6MWQyMGUyMTYzYzNkNGM1Zjg2MTViMTIxNGQzMGVjMjdfMy0yLTEtMS0w_2918b446-180c-4453-9bf9-638a48bc2495"
      unitRef="usd">39225000</us-gaap:CapitalizedComputerSoftwareNet>
    <us-gaap:CapitalizedComputerSoftwareNet
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RhYmxlOjFkMjBlMjE2M2MzZDRjNWY4NjE1YjEyMTRkMzBlYzI3L3RhYmxlcmFuZ2U6MWQyMGUyMTYzYzNkNGM1Zjg2MTViMTIxNGQzMGVjMjdfMy00LTEtMS0w_994e1e1b-7067-49d2-9f6b-27d7b5f8e2bb"
      unitRef="usd">35459000</us-gaap:CapitalizedComputerSoftwareNet>
    <us-gaap:CapitalizedComputerSoftwareAdditions
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RleHRyZWdpb246NjczNjA2OGFjY2QwNGZiZjkwMjhmYTE0YWRlYThlNDBfMTcx_87dd65e7-7c55-4898-91a1-d5aa45de2535"
      unitRef="usd">7000000.0</us-gaap:CapitalizedComputerSoftwareAdditions>
    <us-gaap:CapitalizedComputerSoftwareAdditions
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RleHRyZWdpb246NjczNjA2OGFjY2QwNGZiZjkwMjhmYTE0YWRlYThlNDBfMTc4_c4bff88d-b8e7-45d6-b16f-2d6715245f6b"
      unitRef="usd">7100000</us-gaap:CapitalizedComputerSoftwareAdditions>
    <us-gaap:CapitalizedComputerSoftwareAdditions
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RleHRyZWdpb246NjczNjA2OGFjY2QwNGZiZjkwMjhmYTE0YWRlYThlNDBfMTA5OTUxMTYyODM4Nw_00b5eedc-a08c-451e-a682-78bdb92c0e0b"
      unitRef="usd">14100000</us-gaap:CapitalizedComputerSoftwareAdditions>
    <us-gaap:CapitalizedComputerSoftwareAdditions
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RleHRyZWdpb246NjczNjA2OGFjY2QwNGZiZjkwMjhmYTE0YWRlYThlNDBfMTA5OTUxMTYyODM5NQ_5f0c456e-a02b-44cb-aab7-7e58fc81ea42"
      unitRef="usd">13800000</us-gaap:CapitalizedComputerSoftwareAdditions>
    <us-gaap:CapitalizedComputerSoftwareAmortization1
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RleHRyZWdpb246NjczNjA2OGFjY2QwNGZiZjkwMjhmYTE0YWRlYThlNDBfMzE3_c7c14d01-d96e-4394-b78d-a9a0df9c4005"
      unitRef="usd">5300000</us-gaap:CapitalizedComputerSoftwareAmortization1>
    <us-gaap:CapitalizedComputerSoftwareAmortization1
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RleHRyZWdpb246NjczNjA2OGFjY2QwNGZiZjkwMjhmYTE0YWRlYThlNDBfMzI0_e3baca40-042b-4e96-8132-1659bd7ec931"
      unitRef="usd">4500000</us-gaap:CapitalizedComputerSoftwareAmortization1>
    <us-gaap:CapitalizedComputerSoftwareAmortization1
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RleHRyZWdpb246NjczNjA2OGFjY2QwNGZiZjkwMjhmYTE0YWRlYThlNDBfMTA5OTUxMTYyODQ2Mw_0f6c4857-cebd-4061-8b42-4a8e520da826"
      unitRef="usd">10300000</us-gaap:CapitalizedComputerSoftwareAmortization1>
    <us-gaap:CapitalizedComputerSoftwareAmortization1
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RleHRyZWdpb246NjczNjA2OGFjY2QwNGZiZjkwMjhmYTE0YWRlYThlNDBfMTA5OTUxMTYyODQ3MQ_e8c365af-f01b-495b-ac58-60c225085be0"
      unitRef="usd">8700000</us-gaap:CapitalizedComputerSoftwareAmortization1>
    <appf:ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RleHRyZWdpb246NjczNjA2OGFjY2QwNGZiZjkwMjhmYTE0YWRlYThlNDBfNTIw_8aedf75a-765c-41ce-85fe-49dec5100bf9">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future amortization expense with respect to capitalized software development costs is estimated as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:84.864%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.206%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Years Ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,545&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,432&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,357&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,891&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;Total amortization expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</appf:ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock>
    <appf:CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RhYmxlOjFkMDQxMTBmNzY4YzQ1OGY4YjQ0YjQ0ZmE5MDA1NzE1L3RhYmxlcmFuZ2U6MWQwNDExMGY3NjhjNDU4ZjhiNDRiNDRmYTkwMDU3MTVfMS0yLTEtMS0w_f095291d-84f9-4495-b36f-a162ae0d7860"
      unitRef="usd">10545000</appf:CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear>
    <appf:CapitalizedComputerSoftwareAmortizationExpenseYearOne
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RhYmxlOjFkMDQxMTBmNzY4YzQ1OGY4YjQ0YjQ0ZmE5MDA1NzE1L3RhYmxlcmFuZ2U6MWQwNDExMGY3NjhjNDU4ZjhiNDRiNDRmYTkwMDU3MTVfMi0yLTEtMS0w_ff7b54fd-0428-43f2-8306-8d4ed8519afe"
      unitRef="usd">17432000</appf:CapitalizedComputerSoftwareAmortizationExpenseYearOne>
    <appf:CapitalizedComputerSoftwareAmortizationExpenseYearTwo
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RhYmxlOjFkMDQxMTBmNzY4YzQ1OGY4YjQ0YjQ0ZmE5MDA1NzE1L3RhYmxlcmFuZ2U6MWQwNDExMGY3NjhjNDU4ZjhiNDRiNDRmYTkwMDU3MTVfMy0yLTEtMS0w_528c814b-6c3a-42e4-8228-a1f8f5fcecf9"
      unitRef="usd">9357000</appf:CapitalizedComputerSoftwareAmortizationExpenseYearTwo>
    <appf:CapitalizedComputerSoftwareAmortizationExpenseYearThree
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RhYmxlOjFkMDQxMTBmNzY4YzQ1OGY4YjQ0YjQ0ZmE5MDA1NzE1L3RhYmxlcmFuZ2U6MWQwNDExMGY3NjhjNDU4ZjhiNDRiNDRmYTkwMDU3MTVfNC0yLTEtMS0w_fa59e338-5c66-4f49-a465-c782da400e6b"
      unitRef="usd">1891000</appf:CapitalizedComputerSoftwareAmortizationExpenseYearThree>
    <us-gaap:CapitalizedComputerSoftwareNet
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80Ni9mcmFnOjY3MzYwNjhhY2NkMDRmYmY5MDI4ZmExNGFkZWE4ZTQwL3RhYmxlOjFkMDQxMTBmNzY4YzQ1OGY4YjQ0YjQ0ZmE5MDA1NzE1L3RhYmxlcmFuZ2U6MWQwNDExMGY3NjhjNDU4ZjhiNDRiNDRmYTkwMDU3MTVfNS0yLTEtMS0w_bfee32e2-63c1-40cd-97a3-b52b7bd03fec"
      unitRef="usd">39225000</us-gaap:CapitalizedComputerSoftwareNet>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RleHRyZWdpb246YTU1MWQyYTU5ZTQ0NGQxYjgyMTQ2MGZiYmZlZTAyYWFfMzQ4_8404d2da-8765-490b-821b-7a3ff63da4b0">Intangible Assets, net&lt;div style="margin-top:6pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets consisted of the following (in thousands, except years):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:11pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:37.992%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.394%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.394%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.394%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.398%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross&#160;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net&#160;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average&#160;Useful Life in Years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,840&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,778)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,062&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Database&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,203)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,127&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,539&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,391)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,148&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks and trade names&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,890&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(930)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;960&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Partner relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;680&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(680)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-compete agreements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,704)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Domain names&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;90&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(73)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Patents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(245)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total intangible assets, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14,004)&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,017&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:1pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.196%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.416%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.122%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.416%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.418%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross&#160;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net&#160;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average&#160;Useful Life in Years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,840&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,550)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,290&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Database&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,787)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,543&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,539&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,641)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,898&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks and trade names&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,890&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(732)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,158&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Partner relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;680&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(680)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-compete agreements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,964)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,436&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Domain names&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;90&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(70)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Patents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(240)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total intangible assets, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,664)&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,357&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amortization expense with respect to intangible assets totaled $1.2 million for the three months ended June&#160;30, 2021 and 2020, and $2.3 million and $2.5 million for the six months ended June&#160;30, 2021 and 2020, respectively. Future amortization expense with respect to intangible assets is estimated as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:85.449%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.621%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Years Ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,306&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,605&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;835&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;833&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,378&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;Total amortization expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,017&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RleHRyZWdpb246YTU1MWQyYTU5ZTQ0NGQxYjgyMTQ2MGZiYmZlZTAyYWFfMzQz_dabcdcb9-60cf-44b5-a591-67e9712b1213">&lt;div style="margin-top:6pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets consisted of the following (in thousands, except years):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:11pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:37.992%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.394%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.394%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.394%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.398%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross&#160;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net&#160;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average&#160;Useful Life in Years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,840&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,778)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,062&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Database&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,203)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,127&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,539&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,391)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,148&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks and trade names&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,890&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(930)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;960&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Partner relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;680&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(680)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-compete agreements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,704)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Domain names&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;90&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(73)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Patents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(245)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total intangible assets, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14,004)&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,017&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:1pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.196%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.416%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.122%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.416%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.418%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross&#160;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net&#160;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average&#160;Useful Life in Years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,840&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,550)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,290&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Database&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,787)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,543&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,539&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,641)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,898&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks and trade names&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,890&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(732)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,158&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Partner relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;680&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(680)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-compete agreements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,964)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,436&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Domain names&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;90&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(70)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Patents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(240)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total intangible assets, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,664)&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,357&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i155d2d5074374efba67d7af5a9ac3e5e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfMi0yLTEtMS0w_63e31147-cca4-471e-978f-c9fdb5d30527"
      unitRef="usd">2840000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i155d2d5074374efba67d7af5a9ac3e5e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfMi00LTEtMS0w_a4b0adf5-0bce-4068-b679-a279386bce1b"
      unitRef="usd">1778000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i155d2d5074374efba67d7af5a9ac3e5e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfMi02LTEtMS0w_f98b2981-9405-4d93-9d12-5a79716bd34e"
      unitRef="usd">1062000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ib858aa00e546448599decf06f685ad3d_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfMi04LTEtMS0w_2553895c-744d-45b6-9c42-d51602a9a2b9">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i9e7fdb5554da46988a3a0f3371e0aa5c_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfMy0yLTEtMS0w_465decdb-f13a-466f-929f-9547d7952eb6"
      unitRef="usd">8330000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i9e7fdb5554da46988a3a0f3371e0aa5c_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfMy00LTEtMS0w_41ff31ec-90d0-4f41-81e1-d8d4c57fc538"
      unitRef="usd">2203000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i9e7fdb5554da46988a3a0f3371e0aa5c_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfMy02LTEtMS0w_a5c7fd24-768e-474d-9a00-4158aff290d8"
      unitRef="usd">6127000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i3b2f4973093744c1bfd87273ad71cc92_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfMy04LTEtMS0w_ab3a7f6f-c4ea-4537-847f-3899404d3e78">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ie203580e606943899a636f80165c475e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNC0yLTEtMS0w_ead66a57-d950-4a0f-a187-3d65a568c697"
      unitRef="usd">6539000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ie203580e606943899a636f80165c475e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNC00LTEtMS0w_38addaa3-1842-4b00-b43e-5283ec66b3c5"
      unitRef="usd">4391000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ie203580e606943899a636f80165c475e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNC02LTEtMS0w_95db4730-70dd-4310-b441-82ac500a0d30"
      unitRef="usd">2148000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ib81d6ea6ceb1404d8ea05be86c1fc3eb_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNC04LTEtMS0w_dbfb507c-048f-4746-9139-7c04c82cf475">P4Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i4193ecb651234391ae468a7f18b8b331_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNS0yLTEtMS0w_5bdfc4e2-97c4-46ec-9b3e-7e2fdd2dcb83"
      unitRef="usd">1890000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i4193ecb651234391ae468a7f18b8b331_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNS00LTEtMS0w_3d755682-246a-47a3-a433-f5251c6d26e8"
      unitRef="usd">930000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i4193ecb651234391ae468a7f18b8b331_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNS02LTEtMS0w_1371667a-ab0c-4332-a937-35d43a7c5254"
      unitRef="usd">960000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="iedf644a677e84d7fae1e8781e3314733_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNS04LTEtMS0w_8b246e9e-4fcb-4be3-bd07-a9bc6c9c4167">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i7651744100014d68bf62b3a26f203b6e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNi0yLTEtMS0w_4d7b1ee5-ea95-4b47-87d0-f1a2a2015bcb"
      unitRef="usd">680000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i7651744100014d68bf62b3a26f203b6e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNi00LTEtMS0w_82b42e1e-3e0c-4e71-a41c-264abb6c8e90"
      unitRef="usd">680000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i7651744100014d68bf62b3a26f203b6e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNi02LTEtMS0w_38459515-6bdb-4625-94b1-d6dd229af1b2"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i602451b4dc24438cb2e45ba6811665bf_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNi04LTEtMS0w_97ae822c-c606-4c7a-941e-c99b3d55b4fb">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ide94822e72ae4e468937490e0999dae2_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNy0yLTEtMS0w_03abe1eb-7815-4e86-af2e-67755f6488d8"
      unitRef="usd">7400000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ide94822e72ae4e468937490e0999dae2_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNy00LTEtMS0w_d60c313d-3c67-43ce-88f7-e4fca135d167"
      unitRef="usd">3704000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ide94822e72ae4e468937490e0999dae2_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNy02LTEtMS0w_aefcb4c9-a276-40a2-a127-3e36a653336a"
      unitRef="usd">3696000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i53f849b4b49a460eb652e8551bd8f121_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfNy04LTEtMS0w_c4c0d325-536a-4a3e-8b5d-718a1d0c492e">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i044097dc58bd47e3b73af8d59084a762_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfOC0yLTEtMS0w_30fa6652-545e-4e9d-90f3-c9ffa76441c3"
      unitRef="usd">90000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i044097dc58bd47e3b73af8d59084a762_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfOC00LTEtMS0w_95ed8e64-f4d5-45d3-8b19-d8d7259b9488"
      unitRef="usd">73000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i044097dc58bd47e3b73af8d59084a762_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfOC02LTEtMS0w_72ea56f6-35cf-417b-bb69-779385328c69"
      unitRef="usd">17000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i6a950cc780a74990bc91e4ac162e9925_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfOC04LTEtMS0w_51af12fd-43d5-4a0c-ab97-377c0fc91050">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i61cc8313c7364bb498d9909b794826c3_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfOS0yLTEtMS0w_3756c602-0d16-4c8d-93be-1e3d8eb03e0f"
      unitRef="usd">252000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i61cc8313c7364bb498d9909b794826c3_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfOS00LTEtMS0w_e4f979ff-42aa-44bf-ae3a-244259166bda"
      unitRef="usd">245000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i61cc8313c7364bb498d9909b794826c3_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfOS02LTEtMS0w_78839c87-0bde-401f-b20b-c74c45c25b76"
      unitRef="usd">7000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i471c1922ad7744a29b1d425144c28d8a_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfOS04LTEtMS0w_ec03cfc1-5479-4c32-b615-744af0fc773c">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfMTEtMi0xLTEtMA_5295e298-46a9-4c5e-9bf3-6324b6b78a55"
      unitRef="usd">28021000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfMTEtNC0xLTEtMA_3cca7d62-51bc-4a46-8fc8-958a1a7d50bd"
      unitRef="usd">14004000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfMTEtNi0xLTEtMA_4cfbc218-52bd-4928-9020-8587c8265c24"
      unitRef="usd">14017000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="idb86a52960d84a2581f27735f7fd916e_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjViZmY5ZjQxYzlkZjQzYjQ4MzFmMjFhOTE1MzQ4ZTA5L3RhYmxlcmFuZ2U6NWJmZjlmNDFjOWRmNDNiNDgzMWYyMWE5MTUzNDhlMDlfMTEtOC0xLTEtMA_05272b55-51f6-4f4e-ab73-9bc802846772">P6Y3M18D</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i8c959351821a4d9f924811c4e8243e3d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfMi0yLTEtMS0w_82babf0b-f5a6-44b6-b54c-f4fe1d05eba1"
      unitRef="usd">2840000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i8c959351821a4d9f924811c4e8243e3d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfMi00LTEtMS0w_997ee5c8-3c87-4b2c-8af1-e8c9708d1d7d"
      unitRef="usd">1550000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i8c959351821a4d9f924811c4e8243e3d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfMi02LTEtMS0w_7be0fb59-4e1b-4d46-a6a8-3398a257f87e"
      unitRef="usd">1290000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i12d94561df5949ce90d9891ce2fb4953_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfMi04LTEtMS0w_97484017-4c99-4568-93a4-2a1ed46cdd9d">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i1f52faf5c88c43859b448241b478899d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfMy0yLTEtMS0w_b88db4e7-8631-484c-9e48-229342c39a73"
      unitRef="usd">8330000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i1f52faf5c88c43859b448241b478899d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfMy00LTEtMS0w_c1ecc20e-e43d-488e-9230-f69d611d9642"
      unitRef="usd">1787000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i1f52faf5c88c43859b448241b478899d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfMy02LTEtMS0w_05cea764-645d-4d61-aefd-f759fc8f8269"
      unitRef="usd">6543000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ie010e950e3c645448db010cdfde0d7a3_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfMy04LTEtMS0w_36a4f4c6-f931-4af0-8f8b-eb02404899c8">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="iafb4b76941f54e54bbbfdb2ea1902274_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNC0yLTEtMS0w_ae7101ad-88b8-46d2-872a-83238e48c243"
      unitRef="usd">6539000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="iafb4b76941f54e54bbbfdb2ea1902274_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNC00LTEtMS0w_bc2c4a03-c16b-4014-ba77-b2e9cc489f41"
      unitRef="usd">3641000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="iafb4b76941f54e54bbbfdb2ea1902274_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNC02LTEtMS0w_9db39e03-3ffa-4e15-8055-3d4530a6bdf0"
      unitRef="usd">2898000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="if70c4fe2b6854e63b0b43982c8743f25_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNC04LTEtMS0w_2cc5fba9-b065-48f5-b47c-248ad783582b">P4Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="if8190a6e76d34e7cb1113e0f29a2a802_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNS0yLTEtMS0w_aa8d8d9e-6467-4d68-a2ca-0800826e0830"
      unitRef="usd">1890000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="if8190a6e76d34e7cb1113e0f29a2a802_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNS00LTEtMS0w_94e625bc-ef21-4914-bb5e-53f0d1398c50"
      unitRef="usd">732000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="if8190a6e76d34e7cb1113e0f29a2a802_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNS02LTEtMS0w_0047021a-7c98-4e3f-8e92-f7d72eabdaa2"
      unitRef="usd">1158000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i0b758220edb54b67a3aad4e28a17a5ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNS04LTEtMS0w_f113bd39-3098-4dbb-aa24-c3f4c6d895f7">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i828519f92cdb4aaeb817676356d9cb6c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNi0yLTEtMS0w_74ca70bc-454e-4895-8be7-2bd9b561e155"
      unitRef="usd">680000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i828519f92cdb4aaeb817676356d9cb6c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNi00LTEtMS0w_956ce1fa-a128-4f16-ac51-c9cd9f473426"
      unitRef="usd">680000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i828519f92cdb4aaeb817676356d9cb6c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNi02LTEtMS0w_0e521844-2dc3-43cc-9b75-8ac5c471a2f1"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="idff1f80f90c34bce942a834aec10e36d_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNi04LTEtMS0w_f10a688f-f86f-48e4-affc-0bbe22e82ea7">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i9d2bf7c1de9f4a3b8034bbd7107c5012_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNy0yLTEtMS0w_33226cc7-9c44-4df6-a967-b422c60f5f61"
      unitRef="usd">7400000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i9d2bf7c1de9f4a3b8034bbd7107c5012_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNy00LTEtMS0w_effe9060-dfc1-4f54-b65c-a2f7a770d6de"
      unitRef="usd">2964000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i9d2bf7c1de9f4a3b8034bbd7107c5012_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNy02LTEtMS0w_af31476b-365c-45f1-8d6f-4ad7de99282a"
      unitRef="usd">4436000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i5120c784cc0f4a0f830cf609ddd96d93_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfNy04LTEtMS0w_cfc1c889-c1ec-4e23-acd8-a73e6b62ada7">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i5643187a8c49426da72ed68edfabf4cd_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfOC0yLTEtMS0w_c3e028dd-1a8b-4c08-b75b-b1faf2bba5d2"
      unitRef="usd">90000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i5643187a8c49426da72ed68edfabf4cd_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfOC00LTEtMS0w_59ae087f-1254-423a-a727-ea015d3cbaa1"
      unitRef="usd">70000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i5643187a8c49426da72ed68edfabf4cd_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfOC02LTEtMS0w_8cf79dcf-931c-4720-b13b-0189a40600b7"
      unitRef="usd">20000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ieca3f4693e0d409c923775aea995c321_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfOC04LTEtMS0w_3fb85e63-d23c-47d2-a8cd-f2ae8c474be2">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i19195c794eee492ebbc960939682a61e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfOS0yLTEtMS0w_14f1a54e-a7f6-49f2-94b1-3bb6b551fa5c"
      unitRef="usd">252000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i19195c794eee492ebbc960939682a61e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfOS00LTEtMS0w_49982d3a-d1b6-487b-b588-690417373588"
      unitRef="usd">240000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i19195c794eee492ebbc960939682a61e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfOS02LTEtMS0w_1bcc8e50-14ad-4406-8eca-66e9e5c96ddd"
      unitRef="usd">12000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ic5694ee27dc645a480865df6454ae8c3_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfOS04LTEtMS0w_7a8aefe0-b19a-4943-a0a4-8823daa8c69f">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfMTEtMi0xLTEtMA_47fd33e7-883d-408b-afee-372b1d3d6fee"
      unitRef="usd">28021000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfMTEtNC0xLTEtMA_aa51dae7-fb4b-4f44-ab25-dfaed3f353fc"
      unitRef="usd">11664000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfMTEtNi0xLTEtMA_6ec399e9-9e6d-4bb8-9b8d-69c4bedaf057"
      unitRef="usd">16357000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i6e2689eb8762402ca6f30d14a23935d2_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjBlMjdlNjU5NTE1MzRlYmJhODliNzFhODAwNTA2N2Y0L3RhYmxlcmFuZ2U6MGUyN2U2NTk1MTUzNGViYmE4OWI3MWE4MDA1MDY3ZjRfMTEtOC0xLTEtMA_18231918-3bbf-4451-9873-caa780302c7d">P6Y3M18D</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RleHRyZWdpb246YTU1MWQyYTU5ZTQ0NGQxYjgyMTQ2MGZiYmZlZTAyYWFfMTc1_2e1f85e3-8d9c-4f4d-9f4d-cda045940e52"
      unitRef="usd">1200000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RleHRyZWdpb246YTU1MWQyYTU5ZTQ0NGQxYjgyMTQ2MGZiYmZlZTAyYWFfMTc1_41eca90d-1654-4e9a-beb9-592fe9737ab4"
      unitRef="usd">1200000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RleHRyZWdpb246YTU1MWQyYTU5ZTQ0NGQxYjgyMTQ2MGZiYmZlZTAyYWFfMTA5OTUxMTYyODIxNg_837ec703-cbe7-4c2d-9c2a-edca6d9f11ec"
      unitRef="usd">2300000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RleHRyZWdpb246YTU1MWQyYTU5ZTQ0NGQxYjgyMTQ2MGZiYmZlZTAyYWFfMTA5OTUxMTYyODIyNA_cabecfd2-f222-4c5d-bb1c-fd27c90fcecb"
      unitRef="usd">2500000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RleHRyZWdpb246YTU1MWQyYTU5ZTQ0NGQxYjgyMTQ2MGZiYmZlZTAyYWFfMzU3_3dc5d698-37c5-407e-8329-623f7d9b1a2d">Future amortization expense with respect to intangible assets is estimated as follows (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:85.449%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.621%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Years Ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,306&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,605&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;835&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;833&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,378&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;Total amortization expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,017&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjExY2ZmNzk3MGE0MzQxZWU4YzYyYWJmYzI0NTFmOTNmL3RhYmxlcmFuZ2U6MTFjZmY3OTcwYTQzNDFlZThjNjJhYmZjMjQ1MWY5M2ZfMS0yLTEtMS0w_294ab6f5-3787-431b-a575-7c79cf5ae24a"
      unitRef="usd">2306000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjExY2ZmNzk3MGE0MzQxZWU4YzYyYWJmYzI0NTFmOTNmL3RhYmxlcmFuZ2U6MTFjZmY3OTcwYTQzNDFlZThjNjJhYmZjMjQ1MWY5M2ZfMi0yLTEtMS0w_e66a1c63-3995-4035-9dd1-f091c60184fa"
      unitRef="usd">4605000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjExY2ZmNzk3MGE0MzQxZWU4YzYyYWJmYzI0NTFmOTNmL3RhYmxlcmFuZ2U6MTFjZmY3OTcwYTQzNDFlZThjNjJhYmZjMjQ1MWY5M2ZfMy0yLTEtMS0w_ac4331d1-1617-4ac7-8898-e027a5c9d049"
      unitRef="usd">3060000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjExY2ZmNzk3MGE0MzQxZWU4YzYyYWJmYzI0NTFmOTNmL3RhYmxlcmFuZ2U6MTFjZmY3OTcwYTQzNDFlZThjNjJhYmZjMjQ1MWY5M2ZfNC0yLTEtMS0w_9183606a-8e78-4585-a122-320f037fbd29"
      unitRef="usd">835000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjExY2ZmNzk3MGE0MzQxZWU4YzYyYWJmYzI0NTFmOTNmL3RhYmxlcmFuZ2U6MTFjZmY3OTcwYTQzNDFlZThjNjJhYmZjMjQ1MWY5M2ZfNS0yLTEtMS0w_1e7ef070-28d2-47f2-a2b5-f635342fc6ec"
      unitRef="usd">833000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <appf:FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjExY2ZmNzk3MGE0MzQxZWU4YzYyYWJmYzI0NTFmOTNmL3RhYmxlcmFuZ2U6MTFjZmY3OTcwYTQzNDFlZThjNjJhYmZjMjQ1MWY5M2ZfNi0yLTEtMS0w_eb39d997-6e7c-4e44-bd65-a82b41306283"
      unitRef="usd">2378000</appf:FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF80OS9mcmFnOmE1NTFkMmE1OWU0NDRkMWI4MjE0NjBmYmJmZWUwMmFhL3RhYmxlOjExY2ZmNzk3MGE0MzQxZWU4YzYyYWJmYzI0NTFmOTNmL3RhYmxlcmFuZ2U6MTFjZmY3OTcwYTQzNDFlZThjNjJhYmZjMjQ1MWY5M2ZfNy0yLTEtMS0w_2161832a-0563-4dbb-9795-dcb69ba801d6"
      unitRef="usd">14017000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:CompensationRelatedCostsGeneralTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RleHRyZWdpb246ZjE4OTAyMjA5N2ZkNGI1YmJmOWUyNzdlMGMzZWMyNmJfMTcwNg_035b596b-0a52-4f6d-b502-665d008c3884">Accrued Employee Expenses &lt;div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accrued employee expenses consisted of the following (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:10pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.806%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.792%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued vacation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,891&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,277&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued bonuses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,024&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,638&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued commissions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,995&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued payroll&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued payroll taxes and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,229&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,057&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;Total accrued employee expenses&#x2014;current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,504&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,888&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued employee expenses&#x2014;noncurrent&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;968&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has adopted several long-term executive cash incentive plans (the &#x201c;Plan(s)&#x201d;), which are designed to reward certain executives, including certain of our named executive officers, for their contributions toward our long-term strategic objectives (the &#x201c;Performance Conditions&#x201d;), which vary by Plan. We are required to estimate the probable payout under the Plans based on management&#x2019;s judgment using, among other things, an internally developed rolling three year plan (the &#x201c;Three Year Plan&#x201d;). Compensation costs are recorded on a straight-line basis over the relevant service period to the extent we believe it is probable the Performance Conditions in an applicable Plan will be achieved over the course of such performance period. Adjustments to projected compensation costs are recognized on a prospective basis over the remaining service period based on changes in our estimate of the probability of achieving the various Performance Conditions. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the three months ended March 31, 2021, the Board of Directors approved the 2021 Three Year Plan, which allowed us to assess the probability of achieving the Performance Conditions under the Plans through December 31, 2023. During the three months ended June 30, 2021, the Company re-assessed the probability of achieving the Performance Conditions under the Plans. Based on that updated assessment, we recorded $0.5&#160;million and $1.0&#160;million in &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Accrued employee expenses-current&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; and &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Accrued employee expenses-noncurrent&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, respectively, in the Condensed Consolidated Balance Sheet related to the Plans. There are Plans for which no accrual has been recorded as it was determined that it is not currently probable that the related Performance Conditions will be achieved. Amounts recorded under the Plans are based on assumptions and estimates subject to uncertainties and may fluctuate significantly each reporting period.&lt;/span&gt;&lt;/div&gt;</us-gaap:CompensationRelatedCostsGeneralTextBlock>
    <appf:ScheduleOfAccruedEmployeeExpensesTableTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RleHRyZWdpb246ZjE4OTAyMjA5N2ZkNGI1YmJmOWUyNzdlMGMzZWMyNmJfMTcwNQ_760569cd-3105-4b77-8d26-7485b080e4da">&lt;div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accrued employee expenses consisted of the following (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:10pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.806%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.792%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued vacation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,891&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,277&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued bonuses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,024&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,638&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued commissions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,995&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued payroll&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued payroll taxes and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,229&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,057&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;Total accrued employee expenses&#x2014;current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,504&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,888&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued employee expenses&#x2014;noncurrent&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;968&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</appf:ScheduleOfAccruedEmployeeExpensesTableTextBlock>
    <us-gaap:AccruedVacationCurrent
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfMi0yLTEtMS0w_13fbf2fb-7b03-43f1-948b-38dc62339605"
      unitRef="usd">9891000</us-gaap:AccruedVacationCurrent>
    <us-gaap:AccruedVacationCurrent
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfMi00LTEtMS0w_2a64091f-9052-46ec-87de-fadc2d07c7e3"
      unitRef="usd">8277000</us-gaap:AccruedVacationCurrent>
    <us-gaap:AccruedBonusesCurrent
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfMy0yLTEtMS0w_80cc491f-30db-4fd3-88fa-46888375e8ac"
      unitRef="usd">7024000</us-gaap:AccruedBonusesCurrent>
    <us-gaap:AccruedBonusesCurrent
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfMy00LTEtMS0w_ac88f64a-bb9c-4fec-afbd-ffe39f3e3d0d"
      unitRef="usd">5638000</us-gaap:AccruedBonusesCurrent>
    <us-gaap:AccruedSalesCommissionCurrent
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfNC0yLTEtMS0w_93baac6d-ecfc-431c-9a88-30ae47935262"
      unitRef="usd">2191000</us-gaap:AccruedSalesCommissionCurrent>
    <us-gaap:AccruedSalesCommissionCurrent
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfNC00LTEtMS0w_6388e377-0afa-460e-8472-c64b7f423e23"
      unitRef="usd">1995000</us-gaap:AccruedSalesCommissionCurrent>
    <us-gaap:AccruedSalariesCurrent
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfNS0yLTEtMS0w_10d4cbe2-880d-45bf-a977-e1976749980a"
      unitRef="usd">7169000</us-gaap:AccruedSalariesCurrent>
    <us-gaap:AccruedSalariesCurrent
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfNS00LTEtMS0w_edd2d6ea-7426-4d01-a29e-53aa1b0865b3"
      unitRef="usd">1921000</us-gaap:AccruedSalariesCurrent>
    <us-gaap:AccruedPayrollTaxesCurrent
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfNi0yLTEtMS0w_d6eee4ec-2001-431a-b10d-58650754a78b"
      unitRef="usd">1229000</us-gaap:AccruedPayrollTaxesCurrent>
    <us-gaap:AccruedPayrollTaxesCurrent
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfNi00LTEtMS0w_09187f00-f310-4777-9aeb-dd9181c60522"
      unitRef="usd">1057000</us-gaap:AccruedPayrollTaxesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfNy0yLTEtMS0w_210bdbb4-cf5a-41f9-98b8-bc2a55d4c56f"
      unitRef="usd">27504000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfNy00LTEtMS0w_62b2c338-daaa-4d77-a2bd-091839f09603"
      unitRef="usd">18888000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfOS0yLTEtMS0w_1741828f-c599-4db4-b882-c97f29ddd6b0"
      unitRef="usd">968000</us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RhYmxlOjc3ZDVjODI0NDhlNTRiNTJhNWUxZjNjOWIxYzUxMjVkL3RhYmxlcmFuZ2U6NzdkNWM4MjQ0OGU1NGI1MmE1ZTFmM2M5YjFjNTEyNWRfOS00LTEtMS0w_a08b7915-e0f9-4029-a8f0-f35ec1c16104"
      unitRef="usd">0</us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="id2f2903374cd498682a3d5c790913ad4_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RleHRyZWdpb246ZjE4OTAyMjA5N2ZkNGI1YmJmOWUyNzdlMGMzZWMyNmJfMTIxOQ_000bbe94-c786-46eb-bc58-d964c5514f1a"
      unitRef="usd">500000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <appf:EmployeeRelatedLiabilitiesNoncurrent
      contextRef="id2f2903374cd498682a3d5c790913ad4_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81Mi9mcmFnOmYxODkwMjIwOTdmZDRiNWJiZjllMjc3ZTBjM2VjMjZiL3RleHRyZWdpb246ZjE4OTAyMjA5N2ZkNGI1YmJmOWUyNzdlMGMzZWMyNmJfMTIyNg_304a54c2-30af-42eb-9d6e-26b10bab91f9"
      unitRef="usd">1000000.0</appf:EmployeeRelatedLiabilitiesNoncurrent>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RleHRyZWdpb246M2I3MTQ3NmVhZWIyNDFlY2JjZjQ2NDI4OTkyYTY0ZjBfMTU1NQ_d2bff2ba-14d1-4386-b22d-cd54950ecdc7">Leases&lt;div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating leases for our corporate offices have remaining lease terms ranging from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RleHRyZWdpb246M2I3MTQ3NmVhZWIyNDFlY2JjZjQ2NDI4OTkyYTY0ZjBfOTg_4c29c6f1-62ae-4f47-8c0d-6b3cfa00e05b"&gt;one&lt;/span&gt; to eleven 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. We have lease agreements with lease and non-lease components, which we have elected to combine for all asset classes. Certain leases contain provisions for property-related costs that are variable in nature for which the Company is responsible, including common area maintenance, which are expensed as incurred. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of lease expense recognized in the Condensed Consolidated Statements of Operations were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.443%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.795%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;br/&gt;June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended&lt;br/&gt;June 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,412&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,297&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Variable lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;394&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;399&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;792&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;Total lease cost&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,596&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,811&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,997&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,640&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Lease-related assets and liabilities were as follows as of June&#160;30, 2021 and December&#160;31, 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.391%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.791%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;June 30,&lt;br/&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,599&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,983&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,561&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfNi0wLTEtMS0w_58f37670-ee5b-48fa-adbf-a9b8ba85689b"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfNi0wLTEtMS0w_80e2d195-6079-4671-9e00-2846107801df"&gt;Other current liabilities&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,561&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,845&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,936&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,146&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,497&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,991&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease payments under non-cancellable leases as of June&#160;30, 2021 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:84.990%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.810%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Years ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;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"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,645)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;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"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,022&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;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"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,850&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;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"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,814&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,481&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total future minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14,407)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:11.25pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;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"&gt;(2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,898&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:36pt"&gt;&lt;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"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease payments for the years ending December 31, 2021, 2022, 2023, and 2024 are presented net of tenant improvement allowances of $6.9&#160;million, $0.6&#160;million, $0.8&#160;million, and $0.2&#160;million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;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"&gt;(2) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total future minimum lease payments include the current portion of lease liabilities recorded in &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; of $6.6&#160;million on our Condensed Consolidated Balance Sheets, which relates to certain of our leases for which the lease incentives to be received exceed the minimum lease payments to be paid over the next 12 months.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="ib844e87bbafd437db894990bc302c955_I20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RleHRyZWdpb246M2I3MTQ3NmVhZWIyNDFlY2JjZjQ2NDI4OTkyYTY0ZjBfMTA0_3a0fe081-f799-4e15-89a0-54e2e9e502e7">P11Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:LessorOperatingLeaseRenewalTerm
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RleHRyZWdpb246M2I3MTQ3NmVhZWIyNDFlY2JjZjQ2NDI4OTkyYTY0ZjBfMTY5_ce0b2bd7-72cf-4fda-87f1-5f8236f1c37f">P10Y</us-gaap:LessorOperatingLeaseRenewalTerm>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RleHRyZWdpb246M2I3MTQ3NmVhZWIyNDFlY2JjZjQ2NDI4OTkyYTY0ZjBfMTU1Ng_961d14d2-0b08-47a1-ac8e-efbdf0f4f131">&lt;div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of lease expense recognized in the Condensed Consolidated Statements of Operations were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.443%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.795%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;br/&gt;June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended&lt;br/&gt;June 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,412&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,297&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Variable lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;394&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;399&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;792&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;Total lease cost&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,596&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,811&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,997&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,640&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Lease-related assets and liabilities were as follows as of June&#160;30, 2021 and December&#160;31, 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.391%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.791%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;June 30,&lt;br/&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,599&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,983&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,561&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfNi0wLTEtMS0w_58f37670-ee5b-48fa-adbf-a9b8ba85689b"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfNi0wLTEtMS0w_80e2d195-6079-4671-9e00-2846107801df"&gt;Other current liabilities&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,561&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,845&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,936&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,146&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,497&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,991&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjVjYzU5MWMzNDNmZTRiYTM4ODVlMTUyYzM0OTNlMmQyL3RhYmxlcmFuZ2U6NWNjNTkxYzM0M2ZlNGJhMzg4NWUxNTJjMzQ5M2UyZDJfMi0xLTEtMS0xNjAw_135cdef4-6589-40e6-ad95-e7c44c78a26a"
      unitRef="usd">1202000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjVjYzU5MWMzNDNmZTRiYTM4ODVlMTUyYzM0OTNlMmQyL3RhYmxlcmFuZ2U6NWNjNTkxYzM0M2ZlNGJhMzg4NWUxNTJjMzQ5M2UyZDJfMi0zLTEtMS0xNjAz_dc6ad299-135e-4344-9d4c-b5b5a25c1622"
      unitRef="usd">1412000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjVjYzU5MWMzNDNmZTRiYTM4ODVlMTUyYzM0OTNlMmQyL3RhYmxlcmFuZ2U6NWNjNTkxYzM0M2ZlNGJhMzg4NWUxNTJjMzQ5M2UyZDJfMi0xLTEtMS0w_9177c871-4957-4f0c-86aa-ff9f34e3458a"
      unitRef="usd">2297000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjVjYzU5MWMzNDNmZTRiYTM4ODVlMTUyYzM0OTNlMmQyL3RhYmxlcmFuZ2U6NWNjNTkxYzM0M2ZlNGJhMzg4NWUxNTJjMzQ5M2UyZDJfMi0zLTEtMS0w_b04aa648-32d6-4ddc-8e1d-c36fbf73b915"
      unitRef="usd">2848000</us-gaap:OperatingLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjVjYzU5MWMzNDNmZTRiYTM4ODVlMTUyYzM0OTNlMmQyL3RhYmxlcmFuZ2U6NWNjNTkxYzM0M2ZlNGJhMzg4NWUxNTJjMzQ5M2UyZDJfMy0xLTEtMS0xNjAw_070443eb-ed58-4015-986d-0b0f05dc5d3f"
      unitRef="usd">394000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjVjYzU5MWMzNDNmZTRiYTM4ODVlMTUyYzM0OTNlMmQyL3RhYmxlcmFuZ2U6NWNjNTkxYzM0M2ZlNGJhMzg4NWUxNTJjMzQ5M2UyZDJfMy0zLTEtMS0xNjAz_76e0945a-1cd7-4c51-973f-c0429e572d58"
      unitRef="usd">399000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjVjYzU5MWMzNDNmZTRiYTM4ODVlMTUyYzM0OTNlMmQyL3RhYmxlcmFuZ2U6NWNjNTkxYzM0M2ZlNGJhMzg4NWUxNTJjMzQ5M2UyZDJfMy0xLTEtMS0w_9624479f-cd25-4bc6-b668-fc5f06db68f6"
      unitRef="usd">700000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjVjYzU5MWMzNDNmZTRiYTM4ODVlMTUyYzM0OTNlMmQyL3RhYmxlcmFuZ2U6NWNjNTkxYzM0M2ZlNGJhMzg4NWUxNTJjMzQ5M2UyZDJfMy0zLTEtMS0w_81c616f5-f8d0-4ed2-b3f7-fc57fc710a95"
      unitRef="usd">792000</us-gaap:VariableLeaseCost>
    <us-gaap:LeaseCost
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjVjYzU5MWMzNDNmZTRiYTM4ODVlMTUyYzM0OTNlMmQyL3RhYmxlcmFuZ2U6NWNjNTkxYzM0M2ZlNGJhMzg4NWUxNTJjMzQ5M2UyZDJfNC0xLTEtMS0xNjAw_5683d9c5-1478-4f7f-8cd5-140fbca82ed4"
      unitRef="usd">1596000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjVjYzU5MWMzNDNmZTRiYTM4ODVlMTUyYzM0OTNlMmQyL3RhYmxlcmFuZ2U6NWNjNTkxYzM0M2ZlNGJhMzg4NWUxNTJjMzQ5M2UyZDJfNC0zLTEtMS0xNjAz_309bbbbf-0011-48ff-a50c-46c3f42e8164"
      unitRef="usd">1811000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjVjYzU5MWMzNDNmZTRiYTM4ODVlMTUyYzM0OTNlMmQyL3RhYmxlcmFuZ2U6NWNjNTkxYzM0M2ZlNGJhMzg4NWUxNTJjMzQ5M2UyZDJfNC0xLTEtMS0w_49013c6e-f1bf-4a2c-ada4-c669d9c98700"
      unitRef="usd">2997000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjVjYzU5MWMzNDNmZTRiYTM4ODVlMTUyYzM0OTNlMmQyL3RhYmxlcmFuZ2U6NWNjNTkxYzM0M2ZlNGJhMzg4NWUxNTJjMzQ5M2UyZDJfNC0zLTEtMS0w_a1ac1fe3-3e76-40ed-826d-502a59c61ffc"
      unitRef="usd">3640000</us-gaap:LeaseCost>
    <appf:OperatingLeasePrepaidExpensesAndOtherCurrentAssets
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfMi0xLTEtMS0w_4983242a-2527-4b4a-b786-bb431a1f0b0b"
      unitRef="usd">6599000</appf:OperatingLeasePrepaidExpensesAndOtherCurrentAssets>
    <appf:OperatingLeasePrepaidExpensesAndOtherCurrentAssets
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfMi0zLTEtMS0w_8fc3635d-99e0-4ebb-94f2-8d8dede779c1"
      unitRef="usd">3972000</appf:OperatingLeasePrepaidExpensesAndOtherCurrentAssets>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfMy0xLTEtMS0w_54f3fc95-917b-4da4-b134-9e005def4667"
      unitRef="usd">40983000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfMy0zLTEtMS0w_8f6c23d0-82a8-4edb-9093-5ed6fd1f24aa"
      unitRef="usd">30561000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfNi0xLTEtMS0w_6f38c6c1-2a21-4599-ae6c-23728b90642d"
      unitRef="usd">1561000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfNi0zLTEtMS0w_b78c4ad7-4826-492a-8d1e-03def693c6aa"
      unitRef="usd">1845000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfNy0xLTEtMS0w_0ae1444d-5ec0-4616-9069-0dd3776e85f6"
      unitRef="usd">53936000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfNy0zLTEtMS0w_f731dc88-609b-4910-8737-f08033466fb3"
      unitRef="usd">40146000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfOC0xLTEtMS0w_e5c49723-c63c-4ed8-aa39-72fd84e4c654"
      unitRef="usd">55497000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfOC0zLTEtMS0w_724b81e2-c376-4611-ba13-7b161cf97766"
      unitRef="usd">41991000</us-gaap:OperatingLeaseLiability>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RleHRyZWdpb246M2I3MTQ3NmVhZWIyNDFlY2JjZjQ2NDI4OTkyYTY0ZjBfMTU1NA_da63c6ca-fb43-4030-a090-7629bc7c0664">&lt;div style="text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease payments under non-cancellable leases as of June&#160;30, 2021 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:84.990%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.810%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Years ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;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"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,645)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;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"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,022&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;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"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,850&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;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"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,814&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,481&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total future minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14,407)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:11.25pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;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"&gt;(2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,898&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:36pt"&gt;&lt;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"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease payments for the years ending December 31, 2021, 2022, 2023, and 2024 are presented net of tenant improvement allowances of $6.9&#160;million, $0.6&#160;million, $0.8&#160;million, and $0.2&#160;million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;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"&gt;(2) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total future minimum lease payments include the current portion of lease liabilities recorded in &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; of $6.6&#160;million on our Condensed Consolidated Balance Sheets, which relates to certain of our leases for which the lease incentives to be received exceed the minimum lease payments to be paid over the next 12 months.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOmY1MzdlMzJlYWE1MDQwY2Q4NjA5MWU3ZGIxMWM0YjA2L3RhYmxlcmFuZ2U6ZjUzN2UzMmVhYTUwNDBjZDg2MDkxZTdkYjExYzRiMDZfMS0xLTEtMS0w_41865f6a-0c06-4ad5-b568-e83f601746cb"
      unitRef="usd">-4645000000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOmY1MzdlMzJlYWE1MDQwY2Q4NjA5MWU3ZGIxMWM0YjA2L3RhYmxlcmFuZ2U6ZjUzN2UzMmVhYTUwNDBjZDg2MDkxZTdkYjExYzRiMDZfMi0xLTEtMS0w_db45b912-a7c8-405a-b54c-dc1f9d141f5b"
      unitRef="usd">4022000000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOmY1MzdlMzJlYWE1MDQwY2Q4NjA5MWU3ZGIxMWM0YjA2L3RhYmxlcmFuZ2U6ZjUzN2UzMmVhYTUwNDBjZDg2MDkxZTdkYjExYzRiMDZfMy0xLTEtMS0w_0c1a9d33-ecc2-4f89-b4df-d7ea66b4f8b0"
      unitRef="usd">4850000000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOmY1MzdlMzJlYWE1MDQwY2Q4NjA5MWU3ZGIxMWM0YjA2L3RhYmxlcmFuZ2U6ZjUzN2UzMmVhYTUwNDBjZDg2MDkxZTdkYjExYzRiMDZfNC0xLTEtMS0w_e59b7c8e-1423-4531-bd8c-a939ecb22b95"
      unitRef="usd">5814000000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOmY1MzdlMzJlYWE1MDQwY2Q4NjA5MWU3ZGIxMWM0YjA2L3RhYmxlcmFuZ2U6ZjUzN2UzMmVhYTUwNDBjZDg2MDkxZTdkYjExYzRiMDZfNS0xLTEtMS0w_b7a3d7c7-fa52-4820-ad05-8213d5aa5def"
      unitRef="usd">6481000000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <appf:LesseeOperatingLeaseLiabilityToBePaidAfterYearFour
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOmY1MzdlMzJlYWE1MDQwY2Q4NjA5MWU3ZGIxMWM0YjA2L3RhYmxlcmFuZ2U6ZjUzN2UzMmVhYTUwNDBjZDg2MDkxZTdkYjExYzRiMDZfNi0xLTEtMS0w_95940be0-5d76-4225-9299-b1cae81db9ad"
      unitRef="usd">46783000000</appf:LesseeOperatingLeaseLiabilityToBePaidAfterYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOmY1MzdlMzJlYWE1MDQwY2Q4NjA5MWU3ZGIxMWM0YjA2L3RhYmxlcmFuZ2U6ZjUzN2UzMmVhYTUwNDBjZDg2MDkxZTdkYjExYzRiMDZfNy0xLTEtMS0w_88d5be39-9cdf-4f49-a7c1-6dcd4095c09b"
      unitRef="usd">63305000000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOmY1MzdlMzJlYWE1MDQwY2Q4NjA5MWU3ZGIxMWM0YjA2L3RhYmxlcmFuZ2U6ZjUzN2UzMmVhYTUwNDBjZDg2MDkxZTdkYjExYzRiMDZfOC0xLTEtMS0w_d3c971c1-20fb-4bb2-ba15-6341e764b17e"
      unitRef="usd">14407000000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <appf:LesseeOperatingLeaseLiabilityNetOfCurrentPortion
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOmY1MzdlMzJlYWE1MDQwY2Q4NjA5MWU3ZGIxMWM0YjA2L3RhYmxlcmFuZ2U6ZjUzN2UzMmVhYTUwNDBjZDg2MDkxZTdkYjExYzRiMDZfOS0xLTEtMS0w_cb6dec46-c5e9-451c-a203-668008a4c0d7"
      unitRef="usd">48898000000</appf:LesseeOperatingLeaseLiabilityNetOfCurrentPortion>
    <appf:LesseeOperatingLeaseTenantAllowanceRemainderOfFiscalYear
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RleHRyZWdpb246M2I3MTQ3NmVhZWIyNDFlY2JjZjQ2NDI4OTkyYTY0ZjBfMTE5Mg_917815e4-6ea7-46ba-bb56-441529f34e88"
      unitRef="usd">6900000</appf:LesseeOperatingLeaseTenantAllowanceRemainderOfFiscalYear>
    <appf:LesseeOperatingLeaseTenantAllowanceYearOne
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RleHRyZWdpb246M2I3MTQ3NmVhZWIyNDFlY2JjZjQ2NDI4OTkyYTY0ZjBfMTA5OTUxMTYyOTQ5Nw_2d174574-bf39-4a11-b1cb-64dc38590e32"
      unitRef="usd">600000</appf:LesseeOperatingLeaseTenantAllowanceYearOne>
    <appf:LesseeOperatingLeaseTenantAllowanceYearTwo
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RleHRyZWdpb246M2I3MTQ3NmVhZWIyNDFlY2JjZjQ2NDI4OTkyYTY0ZjBfMTA5OTUxMTYyOTUyOQ_73633784-ade2-4d9d-b641-ad99723e2701"
      unitRef="usd">800000</appf:LesseeOperatingLeaseTenantAllowanceYearTwo>
    <appf:LesseeOperatingLeaseTenantAllowanceYearThree
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RleHRyZWdpb246M2I3MTQ3NmVhZWIyNDFlY2JjZjQ2NDI4OTkyYTY0ZjBfMTA5OTUxMTYyOTU4Mw_14e35f43-037d-495f-b342-5e844b503abe"
      unitRef="usd">200000</appf:LesseeOperatingLeaseTenantAllowanceYearThree>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="id3c0695640ea4474b5f4c48be9cdd7a6_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RleHRyZWdpb246M2I3MTQ3NmVhZWIyNDFlY2JjZjQ2NDI4OTkyYTY0ZjBfMTM0Mg_e90fadd9-bc23-4c18-9e1b-7a3ed1307046"
      unitRef="usd">6600000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81OC9mcmFnOjYyZmQ2ZDQyZTNiNzRhOTFiZDhkYWU0ODRiMjJkMTE1L3RleHRyZWdpb246NjJmZDZkNDJlM2I3NGE5MWJkOGRhZTQ4NGIyMmQxMTVfNDQ4Mg_79f4de05-fe56-453e-8ac8-ebff76f523ce">Commitments and Contingencies&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Legal Liability to Landlord Insurance&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have a wholly owned subsidiary, Terra Mar Insurance Company, Inc., which was established to provide our customers with the option to purchase legal liability to landlord insurance. If our customers choose to use this insurance service, they are issued an insurance policy underwritten by our third-party service provider. The policy has a limit of $100&#160;thousand per incident for each insured residence. We have entered into a reinsurance agreement with our third-party service provider and, as a result, we assume a 100% quota share of the legal liability to landlord insurance provided to our customers through 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 liability for reported claims and incurred but not reported claims as of June&#160;30, 2021 and December&#160;31, 2020 was $1.5 million and $1.5 million, respectively, and is included in &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Other current liabilities&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; on our Condensed Consolidated Balance Sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Included in &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; as of June&#160;30, 2021 and December&#160;31, 2020 are $1.8 million and $2.7 million, respectively, of deposits held with a third party related to requirements to maintain collateral for this insurance service.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Legal Proceedings&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;There have been no changes in the Company&#x2019;s material legal proceedings during the three months ended June 30, 2021. &lt;/span&gt;&lt;/div&gt;IndemnificationIn the ordinary course of business, we may provide indemnification of varying scope and terms to customers, investors, directors and officers with respect to certain matters, including, but not limited to, losses arising out of our breach of any applicable agreements, services to be provided by us, or intellectual property infringement claims made by third parties. 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 never paid a material claim, nor have any legal claims been brought against us, in connection with these indemnification arrangements. As of June&#160;30, 2021 and December&#160;31, 2020, we have not accrued a liability for these indemnification arrangements because we determined that the likelihood of incurring a payment obligation, if any, in connection with these indemnification arrangements is not probable or reasonably possible and the amount or range of amounts of any such liability is not reasonably estimable.</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <appf:PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81OC9mcmFnOjYyZmQ2ZDQyZTNiNzRhOTFiZDhkYWU0ODRiMjJkMTE1L3RleHRyZWdpb246NjJmZDZkNDJlM2I3NGE5MWJkOGRhZTQ4NGIyMmQxMTVfNDI3_3517463b-28bb-412a-b3e0-2bb131a0ce0f"
      unitRef="usd">100000</appf:PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit>
    <us-gaap:ReinsuranceRetentionPolicyReinsuredRiskPercentage
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81OC9mcmFnOjYyZmQ2ZDQyZTNiNzRhOTFiZDhkYWU0ODRiMjJkMTE1L3RleHRyZWdpb246NjJmZDZkNDJlM2I3NGE5MWJkOGRhZTQ4NGIyMmQxMTVfNTg0_8317205f-4c13-4d62-b500-cc2d3d704514"
      unitRef="number">1</us-gaap:ReinsuranceRetentionPolicyReinsuredRiskPercentage>
    <us-gaap:LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability
      contextRef="ifbb8a31e296a4af2a6630486c728e36f_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81OC9mcmFnOjYyZmQ2ZDQyZTNiNzRhOTFiZDhkYWU0ODRiMjJkMTE1L3RleHRyZWdpb246NjJmZDZkNDJlM2I3NGE5MWJkOGRhZTQ4NGIyMmQxMTVfMTAwMQ_6d0a3370-6d14-492e-aa85-f24feb8eae3e"
      unitRef="usd">1500000</us-gaap:LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability>
    <us-gaap:LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability
      contextRef="i7d123251a4364ea8880da70fc7a7e68c_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81OC9mcmFnOjYyZmQ2ZDQyZTNiNzRhOTFiZDhkYWU0ODRiMjJkMTE1L3RleHRyZWdpb246NjJmZDZkNDJlM2I3NGE5MWJkOGRhZTQ4NGIyMmQxMTVfMTAwOA_57ad70b7-e12b-4666-b546-d2359de34a85"
      unitRef="usd">1500000</us-gaap:LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability>
    <appf:PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices
      contextRef="icede5472c35f45ddbe0e142de0f8dc18_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81OC9mcmFnOjYyZmQ2ZDQyZTNiNzRhOTFiZDhkYWU0ODRiMjJkMTE1L3RleHRyZWdpb246NjJmZDZkNDJlM2I3NGE5MWJkOGRhZTQ4NGIyMmQxMTVfMTE5MQ_60ad8d1e-9cee-48d3-9f9c-65428bf000c4"
      unitRef="usd">1800000</appf:PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices>
    <appf:PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices
      contextRef="i0918a28f49634eba8a6c766b493cfbe3_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81OC9mcmFnOjYyZmQ2ZDQyZTNiNzRhOTFiZDhkYWU0ODRiMjJkMTE1L3RleHRyZWdpb246NjJmZDZkNDJlM2I3NGE5MWJkOGRhZTQ4NGIyMmQxMTVfMTE5OA_9d8a8861-f6bc-4484-9af7-0c881a46f231"
      unitRef="usd">2700000</appf:PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82MS9mcmFnOjQ4ZmY3ZDMzMmUxODQ2ZGM5ZWYwNGM4NGFkZjM2MTFlL3RleHRyZWdpb246NDhmZjdkMzMyZTE4NDZkYzllZjA0Yzg0YWRmMzYxMWVfMTE1MA_fa76466f-c9d9-406c-8d5d-0d2eb6a39de4">Share Repurchase Program &lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On February 20, 2019, our Board of Directors authorized a $100.0 million share repurchase program (the "Share Repurchase Program") relating to our outstanding shares of Class A common stock. Under the Share Repurchase Program, share repurchases may be made from time to time, as directed by a committee consisting of three directors, in open market purchases or privately negotiated transactions at a repurchase price that the members of the committee unanimously believe is below intrinsic value conservatively determined. The Share Repurchase Program does not obligate us to repurchase any specific dollar amount or number of shares, and there is no expiration date for the Share Repurchase Program, which&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; may be modified, suspended or terminated at any time and for any reason. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the three months ended March 31, 2020, we repurchased a total of 48,002 shares of our Class A common stock through open market repurchases, and recorded a $4.2 million reduction to stockholders' equity, which includes broker commissions. We have not made any repurchases under the Share Repurc&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;hase &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Program subsequent to the three months ended March 31, 2020.&lt;/span&gt;&lt;/div&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="i388b9a53d8fa44df8128bd1247847647_I20190220"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82MS9mcmFnOjQ4ZmY3ZDMzMmUxODQ2ZGM5ZWYwNGM4NGFkZjM2MTFlL3RleHRyZWdpb246NDhmZjdkMzMyZTE4NDZkYzllZjA0Yzg0YWRmMzYxMWVfOTM_3d608534-6b60-4991-b0f9-c41a76da2e1b"
      unitRef="usd">100000000.0</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <appf:StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases
      contextRef="i2a38e101cc82463e8b5f1c4dc7d24234_D20190220-20190220"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82MS9mcmFnOjQ4ZmY3ZDMzMmUxODQ2ZGM5ZWYwNGM4NGFkZjM2MTFlL3RleHRyZWdpb246NDhmZjdkMzMyZTE4NDZkYzllZjA0Yzg0YWRmMzYxMWVfMzQw_0f872934-ab35-4e1e-a08f-35ef8ecbf3d1"
      unitRef="director">3</appf:StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="ie12b07a296d44bc8bf5867ead97026a9_D20200101-20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82MS9mcmFnOjQ4ZmY3ZDMzMmUxODQ2ZGM5ZWYwNGM4NGFkZjM2MTFlL3RleHRyZWdpb246NDhmZjdkMzMyZTE4NDZkYzllZjA0Yzg0YWRmMzYxMWVfODcx_8f298f21-d403-47dd-b970-e1ed0b751d1a"
      unitRef="shares">48002</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="ie12b07a296d44bc8bf5867ead97026a9_D20200101-20200331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82MS9mcmFnOjQ4ZmY3ZDMzMmUxODQ2ZGM5ZWYwNGM4NGFkZjM2MTFlL3RleHRyZWdpb246NDhmZjdkMzMyZTE4NDZkYzllZjA0Yzg0YWRmMzYxMWVfOTU3_757342cb-56ca-43b4-acec-c426b13574df"
      unitRef="usd">4200000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNDk5NQ_39b1306d-e340-478f-8264-587f721be7ed">Stock-Based Compensation&lt;div style="margin-top:6pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock Options&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of activity in connection with our stock options for the six months ended June&#160;30, 2021, is as follows (number of shares in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:51.092%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.104%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.104%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;of&lt;br/&gt;Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Exercise&lt;br/&gt;Price&#160;per&#160;Share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Remaining&lt;br/&gt;Contractual&#160;Life&lt;br/&gt;in Years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Options outstanding as of December&#160;31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,168&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.77&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Options granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Options exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(120)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.37&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Options cancelled/forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Options outstanding as of June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,048&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12.50&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.2&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our stock-based compensation expense for stock options for the three and six months ended June&#160;30, 2021 and 2020 was not material. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value of stock options is estimated on their date of grant using the Black-Scholes option-pricing model. No stock options were granted during the six months ended June&#160;30, 2021 or 2020. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Restricted Stock Units&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of activity in connection with our RSUs for the six months ended June&#160;30, 2021, is as follows (number of shares in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.028%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.104%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.108%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;of Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average Grant&#160;Date Fair&#160;Value&#160;per&#160;Share&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested as of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;483&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80.20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;194&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;140.30&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(158)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60.18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105.98&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested as of June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;498&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108.77&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:7pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the six months ended June&#160;30, 2021, we granted 159,000 RSUs that are subject to time-based vesting in equal annual installments over four years, and 35,000 PSUs that are subject to vesting based on the achievement of pre-established consolidated net revenue growth targets for the years ending December 31, 2022 and 2023, assuming continued employment throughout the performance period. The number of PSUs granted, as included in the above table, assumes achievement of the performance metric at 100% of the performance target. 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.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the six months ended June&#160;30, 2021, 50,000 PSUs vested based on the achievement of 106% of the pre-established consolidated net revenue growth performance target for the year ended December 31, 2020 and additional performance-based cash bonuses equal to 12% of the target value of such vested PSUs were also paid. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Included in the unvested RSUs as of June&#160;30, 2021 are 34,000, 12,000, 31,000 and 35,000 PSUs granted in 2021, 2020, 2019 and 2018, respectively. Of these PSUs, 45,000 are subject to vesting based on the achievement of a pre-established consolidated net revenue growth target for the year ending December 31, 2021, 39,000 are subject to vesting based on the achievement of a pre-established consolidated net revenue growth target for the year ending December 31, 2022, and 28,000 are subject to vesting based on the achievement of a pre-established consolidated net revenue growth target for the year ending December 31, 2023. The number of PSUs granted assumes achievement of the performance metric at 100% of the performance target. 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. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize expense for PSUs based on the grant date fair value of the PSUs that we determine are probable of vesting. Adjustments to compensation expense are made each period based on changes in our estimate of the number of PSUs that are probable of vesting. Our stock-based compensation expense for RSUs and PSUs for the three months ended June&#160;30, 2021 and 2020 was&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; $3.7 million a&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;nd $3.2 million, respectively, and &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$6.8 million&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; and $4.4 million for the six months ended June&#160;30, 2021 and 2020, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the six months ended June&#160;30, 2021, we granted an award of 7,688 PSUs to an executive that vest based on achievement of certain pre-established individual performance metrics during fiscal year 2021, for which the achievement is approved on a pass/fail basis by the Board of Directors in its sole discretion after taking into account the recommendation of the President and Chief Executive Officer. The service inception date precedes the grant date for this award as (a) the award was authorized prior to establishing an accounting grant date, (b) the recipient began providing services prior to the grant date and (c) there are performance conditions that, if not met by the accounting grant date, will result in the forfeiture of the award. As the service inception date precedes the grant date, we recognize stock-based compensation expense on a straight-line basis over the requisite service period based on the fair value at each reporting date. Our stock-based compensation expense for this award for the six months ended June&#160;30, 2021 was&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; $0.5&#160;million. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June&#160;30, 2021, the total estimated remaining stock-based compensation expense for the aforementioned RSUs and PSUs was &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$39.4 million&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, which is expected to be recognized over a weighted average period of&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; 2.6 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Restricted Stock Awards&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of activity in connection with our restricted stock awards for the six months ended June&#160;30, 2021 is as follows (number of shares in thousands):&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.028%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.104%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.108%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;of&lt;br/&gt;Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair&#160;Value&#160;per&#160;Share&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested as of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;153.41&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;144.33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;160.34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested as of June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143.74&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:7pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have the right to repurchase any unvested restricted stock awards subject to certain conditions. Restricted stock awards vest over a one-year period. We recognized stock-based compensation expense for restricted stock awards of &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$0.2 million and $0.2 million for the three months ended June&#160;30, 2021 and 2020, respectively, and $0.3 million and $0.3 million for &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;the six months ended June&#160;30, 2021 and 2020, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June&#160;30, 2021, the total estimated remaining stock-based compensation expense for unvested restricted stock awards with a repurchase right was &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$0.7 million, which is expected to be recognized over a weighted average period of 0.9 years.&lt;/span&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNTAwMw_33ef9a78-3552-405e-ae49-ef6210660cbf">&lt;div style="margin-top:6pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of activity in connection with our stock options for the six months ended June&#160;30, 2021, is as follows (number of shares in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:51.092%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.104%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.104%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;of&lt;br/&gt;Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Exercise&lt;br/&gt;Price&#160;per&#160;Share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Remaining&lt;br/&gt;Contractual&#160;Life&lt;br/&gt;in Years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Options outstanding as of December&#160;31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,168&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.77&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Options granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Options exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(120)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.37&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Options cancelled/forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Options outstanding as of June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,048&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12.50&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.2&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjAyODMyYmNjYzY5MTRmNTZiNGQ2MmU4ODBmOTQ5YmY0L3RhYmxlcmFuZ2U6MDI4MzJiY2NjNjkxNGY1NmI0ZDYyZTg4MGY5NDliZjRfMS0yLTEtMS0w_f81ce562-335a-4816-8369-46f460532a6b"
      unitRef="shares">1168000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i30100f93f54b4462aecab412e968bd6f_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjAyODMyYmNjYzY5MTRmNTZiNGQ2MmU4ODBmOTQ5YmY0L3RhYmxlcmFuZ2U6MDI4MzJiY2NjNjkxNGY1NmI0ZDYyZTg4MGY5NDliZjRfMS00LTEtMS0w_7d4107ab-5e86-4bc3-8f1e-465f2616401e"
      unitRef="usdPerShare">11.77</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="ic8f14e2f98b742f58bdddb87910e20b8_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjAyODMyYmNjYzY5MTRmNTZiNGQ2MmU4ODBmOTQ5YmY0L3RhYmxlcmFuZ2U6MDI4MzJiY2NjNjkxNGY1NmI0ZDYyZTg4MGY5NDliZjRfMS02LTEtMS0w_381f43f8-9bfc-4032-b540-e553183f6fe8">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjAyODMyYmNjYzY5MTRmNTZiNGQ2MmU4ODBmOTQ5YmY0L3RhYmxlcmFuZ2U6MDI4MzJiY2NjNjkxNGY1NmI0ZDYyZTg4MGY5NDliZjRfMi0yLTEtMS0w_3bd17e7e-df32-467b-8354-b3e21a8267a6"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjAyODMyYmNjYzY5MTRmNTZiNGQ2MmU4ODBmOTQ5YmY0L3RhYmxlcmFuZ2U6MDI4MzJiY2NjNjkxNGY1NmI0ZDYyZTg4MGY5NDliZjRfMi00LTEtMS0w_c6194364-098b-4198-8f17-dc7da825df17"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjAyODMyYmNjYzY5MTRmNTZiNGQ2MmU4ODBmOTQ5YmY0L3RhYmxlcmFuZ2U6MDI4MzJiY2NjNjkxNGY1NmI0ZDYyZTg4MGY5NDliZjRfMy0yLTEtMS0w_34f5a0a7-a3cc-4b21-a657-9c3267783479"
      unitRef="shares">120000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjAyODMyYmNjYzY5MTRmNTZiNGQ2MmU4ODBmOTQ5YmY0L3RhYmxlcmFuZ2U6MDI4MzJiY2NjNjkxNGY1NmI0ZDYyZTg4MGY5NDliZjRfMy00LTEtMS0w_b3971968-900a-4ecf-aeb2-eb18171733a4"
      unitRef="usdPerShare">5.37</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjAyODMyYmNjYzY5MTRmNTZiNGQ2MmU4ODBmOTQ5YmY0L3RhYmxlcmFuZ2U6MDI4MzJiY2NjNjkxNGY1NmI0ZDYyZTg4MGY5NDliZjRfNC0yLTEtMS0w_34a615a6-e621-4107-9b9e-416e4ea241a5"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjAyODMyYmNjYzY5MTRmNTZiNGQ2MmU4ODBmOTQ5YmY0L3RhYmxlcmFuZ2U6MDI4MzJiY2NjNjkxNGY1NmI0ZDYyZTg4MGY5NDliZjRfNC00LTEtMS0w_c20b6bf5-c18b-4eb8-9be0-b80e97edc786"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjAyODMyYmNjYzY5MTRmNTZiNGQ2MmU4ODBmOTQ5YmY0L3RhYmxlcmFuZ2U6MDI4MzJiY2NjNjkxNGY1NmI0ZDYyZTg4MGY5NDliZjRfNS0yLTEtMS0w_53d08975-c729-424d-9092-e72333b52d86"
      unitRef="shares">1048000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjAyODMyYmNjYzY5MTRmNTZiNGQ2MmU4ODBmOTQ5YmY0L3RhYmxlcmFuZ2U6MDI4MzJiY2NjNjkxNGY1NmI0ZDYyZTg4MGY5NDliZjRfNS00LTEtMS0w_57094370-2fd0-4ef0-b113-0d1c5b8d8347"
      unitRef="usdPerShare">12.50</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjAyODMyYmNjYzY5MTRmNTZiNGQ2MmU4ODBmOTQ5YmY0L3RhYmxlcmFuZ2U6MDI4MzJiY2NjNjkxNGY1NmI0ZDYyZTg4MGY5NDliZjRfNS02LTEtMS0w_1fe0166e-5527-427d-aa6f-21f5e8681de0">P3Y2M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNTI0_47798c20-7d84-4937-8b75-d047fd53ef0e"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNTI0_780dcfb4-2fe2-4eed-ad4e-25a495c56011"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNTAwOA_0cc084f0-b32b-4329-9024-1c599969a5c5">&lt;div style="margin-top:6pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of activity in connection with our RSUs for the six months ended June&#160;30, 2021, is as follows (number of shares in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.028%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.104%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.108%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;of Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average Grant&#160;Date Fair&#160;Value&#160;per&#160;Share&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested as of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;483&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80.20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;194&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;140.30&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(158)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60.18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105.98&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested as of June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;498&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108.77&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="ifea9c8c7589a4777a3159cf7b213b956_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOmM0ODM2ZjI2MjgwODQ1MjI4MDFhNzQyNTI5MzcyNzk0L3RhYmxlcmFuZ2U6YzQ4MzZmMjYyODA4NDUyMjgwMWE3NDI1MjkzNzI3OTRfMS0yLTEtMS0w_b4b6aaca-8f34-4d64-a2d6-321a1e6b95b3"
      unitRef="shares">483000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="ifea9c8c7589a4777a3159cf7b213b956_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOmM0ODM2ZjI2MjgwODQ1MjI4MDFhNzQyNTI5MzcyNzk0L3RhYmxlcmFuZ2U6YzQ4MzZmMjYyODA4NDUyMjgwMWE3NDI1MjkzNzI3OTRfMS00LTEtMS0w_7297bf05-ac48-4b40-81d0-5b75b1a9ba4a"
      unitRef="usdPerShare">80.20</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i3c25fe0841da49819791dd343a9c5659_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOmM0ODM2ZjI2MjgwODQ1MjI4MDFhNzQyNTI5MzcyNzk0L3RhYmxlcmFuZ2U6YzQ4MzZmMjYyODA4NDUyMjgwMWE3NDI1MjkzNzI3OTRfMi0yLTEtMS0w_60eee8dd-697d-455c-9c8f-f41a79a3bcb2"
      unitRef="shares">194000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i3c25fe0841da49819791dd343a9c5659_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOmM0ODM2ZjI2MjgwODQ1MjI4MDFhNzQyNTI5MzcyNzk0L3RhYmxlcmFuZ2U6YzQ4MzZmMjYyODA4NDUyMjgwMWE3NDI1MjkzNzI3OTRfMi00LTEtMS0w_fa947c85-446f-49e0-8d1d-9ca82d3c4853"
      unitRef="usdPerShare">140.30</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i3c25fe0841da49819791dd343a9c5659_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOmM0ODM2ZjI2MjgwODQ1MjI4MDFhNzQyNTI5MzcyNzk0L3RhYmxlcmFuZ2U6YzQ4MzZmMjYyODA4NDUyMjgwMWE3NDI1MjkzNzI3OTRfMy0yLTEtMS0w_ad5e9e6f-a3d4-4000-aa06-8644329f36d2"
      unitRef="shares">158000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i3c25fe0841da49819791dd343a9c5659_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOmM0ODM2ZjI2MjgwODQ1MjI4MDFhNzQyNTI5MzcyNzk0L3RhYmxlcmFuZ2U6YzQ4MzZmMjYyODA4NDUyMjgwMWE3NDI1MjkzNzI3OTRfMy00LTEtMS0w_3182d564-f73e-42aa-9ad7-8a71a7d4b121"
      unitRef="usdPerShare">60.18</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i3c25fe0841da49819791dd343a9c5659_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOmM0ODM2ZjI2MjgwODQ1MjI4MDFhNzQyNTI5MzcyNzk0L3RhYmxlcmFuZ2U6YzQ4MzZmMjYyODA4NDUyMjgwMWE3NDI1MjkzNzI3OTRfNC0yLTEtMS0w_52971c02-2faa-4236-b6e1-aa6be6d0e6de"
      unitRef="shares">21000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i3c25fe0841da49819791dd343a9c5659_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOmM0ODM2ZjI2MjgwODQ1MjI4MDFhNzQyNTI5MzcyNzk0L3RhYmxlcmFuZ2U6YzQ4MzZmMjYyODA4NDUyMjgwMWE3NDI1MjkzNzI3OTRfNC00LTEtMS0w_3df25db4-8848-4f41-b4ee-e42da230abdc"
      unitRef="usdPerShare">105.98</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="if73f8d2ff84645ca8541f5301a92e2f2_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOmM0ODM2ZjI2MjgwODQ1MjI4MDFhNzQyNTI5MzcyNzk0L3RhYmxlcmFuZ2U6YzQ4MzZmMjYyODA4NDUyMjgwMWE3NDI1MjkzNzI3OTRfNS0yLTEtMS0w_1c2e3319-95b1-45e5-8117-cda3f7e03b04"
      unitRef="shares">498000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="if73f8d2ff84645ca8541f5301a92e2f2_I20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOmM0ODM2ZjI2MjgwODQ1MjI4MDFhNzQyNTI5MzcyNzk0L3RhYmxlcmFuZ2U6YzQ4MzZmMjYyODA4NDUyMjgwMWE3NDI1MjkzNzI3OTRfNS00LTEtMS0w_b2b6bf34-ab94-4dc4-84bf-57e0228dca67"
      unitRef="usdPerShare">108.77</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i699f3dc71634437eb8858caf1c82661a_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNzg0_719b5b8b-4750-4d9c-85e2-7edc95c02602"
      unitRef="shares">159000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i699f3dc71634437eb8858caf1c82661a_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfODY1_646a3246-f623-4b84-8842-bbaae10b6284">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i457f02cd2d914bf59c65570233da2b87_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfODcz_e278f005-344d-49e1-9d9c-38a4bb4662d6"
      unitRef="shares">35000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="i23007c4cafad4bd2a3f9b26ea8da879e_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTIxNg_5ee74752-2e87-4254-bfca-83c826d10e98"
      unitRef="number">1</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="i83656486275448b3a66204f3c580163a_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTM0MA_d1b5d858-f9f4-40d7-a9dc-b9f127d7c8c5"
      unitRef="number">0</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="i2d6a97c0822c4e15ad128f75c59e825d_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTM0Ng_10b0b271-be73-4487-bad1-26fb7232f8aa"
      unitRef="number">1</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="ic91bd014da1d407eaca3332829384002_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTQyNQ_09c67398-1b9d-40b8-aca5-006fb968b58a"
      unitRef="number">1</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="ibbd0f41c03504a048be7fad795dadfda_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTQzMg_33a2932e-d196-45ea-adb3-ae2d1f3e501e"
      unitRef="number">1.50</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent
      contextRef="i5ffc8f34903c4fe894858180fe4f3206_D20210101-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTUyMw_bf1b83e1-93cc-4dbc-97e4-68d65651ff6f"
      unitRef="number">0</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent
      contextRef="i6514751087c5466089453746d851060f_D20210101-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTUzMA_22843c93-ad19-447d-9138-86ac1cf5eade"
      unitRef="number">0.65</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i457f02cd2d914bf59c65570233da2b87_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTU5Ng_6a5db194-430d-4329-92da-ca6f65d334c1"
      unitRef="shares">50000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric
      contextRef="ic83befabe7bf4f44af62652615e60b9b_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTYzOQ_41cd8ca4-4d9e-4e1a-8776-a4d8e6b0de08"
      unitRef="number">1.06</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent
      contextRef="i606f1774863e447e9211fb6f556eeb9b_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTgwOA_bd0d632f-d935-4555-bf73-9d425eb89332"
      unitRef="number">0.12</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i91064e19e59c4b3d820b48c855062288_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMjc0ODc3OTA3NzUwOQ_3fb65c60-c2c9-4632-93ec-8c9175902f39"
      unitRef="shares">34000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i1c176b06ddb74554b4e6a488104f9a96_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTkxMQ_6cf6bf38-85fc-402e-9abb-af9c0a3e8fc0"
      unitRef="shares">12000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ib7ca62402e6d41f6b03da693b045b5ae_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTkxNQ_b05b7a02-8831-4a73-bc4c-50c3e5128d25"
      unitRef="shares">31000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i1316c7b18e1640938330bef65bd7614e_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTkyMg_7d52a419-14cf-404e-b321-9f44a053a920"
      unitRef="shares">35000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i2d9ebfaac2e84921bc28d4fd332d5937_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTk5MQ_24fed4fb-e21f-4976-90cd-7245823f6e13"
      unitRef="shares">45000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="ibe541b3721574d48ba2d793240749d44_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMjE0NQ_67eb7674-af99-4b06-ad33-79bc7ca99f31"
      unitRef="shares">39000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="id76e06168d524724ab555032a62fdbe0_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMjc0ODc3OTA3NzUxNw_3045fe55-66c6-4b32-ae22-4124748948b1"
      unitRef="shares">28000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="ie0a9682aee9d41a2a0b86cf23739d3b2_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMjM3MQ_b4e6a96c-50ac-4fbd-b645-ae79ac96e720"
      unitRef="number">1</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="i3b864c70c9d44f18bd49ccbae01e7a0a_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMjQ5NQ_3a3995b0-e575-49be-a805-b5595e1f46fc"
      unitRef="number">0</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="i3aed813ac95e4cf5b10ffb4678399a1e_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMjUwMQ_c2e4a1f6-6ad2-45f0-b671-7bb8250821d8"
      unitRef="number">1</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="i8a6e99e34a0d4f8e9ddd483b0e2fb356_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMjU4MA_5464751b-e23b-4f95-b1f7-ad629d568ada"
      unitRef="number">1</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="i25251dcb9bed427785f73e74782d9ba9_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMjU4Nw_09a164c7-bc69-40f6-b9ec-37fb11ff5236"
      unitRef="number">1.50</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets
      contextRef="i1376ba33952141cabbc021cd6ef8653b_D20210101-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMjY3OA_72cdece8-cc41-402d-b209-8e0aeff73a6e"
      unitRef="number">0</appf:ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets>
    <appf:ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets
      contextRef="ic1f50fce2ed546f2abc2a69a6027dc0e_D20210101-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMjY4NQ_4e5df94a-402d-4078-962a-0ce57f7e9c82"
      unitRef="number">0.65</appf:ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i9cdfea096b5b4cdeaa07a77cdafe7b17_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMzA4NQ_af86cb3d-ed83-4a0d-bfbe-d49421994f00"
      unitRef="usd">3700000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i0e5ec4fabfca4faf9653509aae963b7f_D20200401-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMzA5Mg_c046ab85-7198-41f0-bdea-20f4dd0f6819"
      unitRef="usd">3200000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i3c25fe0841da49819791dd343a9c5659_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTY0OTI2NzQ0Njc3OQ_1211adc2-2435-4090-b35a-c19d75bd4380"
      unitRef="usd">6800000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i5fd43dec6fa644fb9846154e4e1a2403_D20200101-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTY0OTI2NzQ0Njc4Mw_86dbfa84-98e0-44c6-a924-46de1dd7f458"
      unitRef="usd">4400000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i0b07d8eecfa44616b63e0e4a9bf7a0c7_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMzE2NA_18423a56-38db-407e-8683-93ff5248c96c"
      unitRef="shares">7688</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i0b07d8eecfa44616b63e0e4a9bf7a0c7_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNDEzMw_1d824bf1-14f0-428f-b6f6-1e1dffd604a6"
      unitRef="usd">500000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="if73f8d2ff84645ca8541f5301a92e2f2_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNDIzNw_77e2938e-e9fa-4a22-badf-92a0c1278623"
      unitRef="usd">39400000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i3c25fe0841da49819791dd343a9c5659_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNDMxMA_2d0d2b99-93a6-44ff-bc1e-51666eff86ed">P2Y7M6D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNDk5NA_7236703a-fd1d-4416-b293-aff42ee5f0b9">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of activity in connection with our restricted stock awards for the six months ended June&#160;30, 2021 is as follows (number of shares in thousands):&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.028%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.104%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.108%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;of&lt;br/&gt;Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair&#160;Value&#160;per&#160;Share&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested as of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;153.41&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;144.33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;160.34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested as of June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143.74&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i5f49e86785c9487b9d0bc7db6eba2827_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjVmNWYxODI4YjdkZjRjY2E5Yzc5N2VkZTI4MjFhYWI1L3RhYmxlcmFuZ2U6NWY1ZjE4MjhiN2RmNGNjYTljNzk3ZWRlMjgyMWFhYjVfMS0yLTEtMS0w_011f32cf-d938-4c9b-bcc2-6f5674c475fa"
      unitRef="shares">5000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i5f49e86785c9487b9d0bc7db6eba2827_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjVmNWYxODI4YjdkZjRjY2E5Yzc5N2VkZTI4MjFhYWI1L3RhYmxlcmFuZ2U6NWY1ZjE4MjhiN2RmNGNjYTljNzk3ZWRlMjgyMWFhYjVfMS00LTEtMS0w_acd2c53e-5ff3-4394-8f9d-972e8146aa94"
      unitRef="usdPerShare">153.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ibc8cc1f06fac4621bdbc5ec636ea6da1_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjVmNWYxODI4YjdkZjRjY2E5Yzc5N2VkZTI4MjFhYWI1L3RhYmxlcmFuZ2U6NWY1ZjE4MjhiN2RmNGNjYTljNzk3ZWRlMjgyMWFhYjVfMi0yLTEtMS0w_d91b228f-3bc6-41ae-a81e-c3209c96c976"
      unitRef="shares">4000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ibc8cc1f06fac4621bdbc5ec636ea6da1_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjVmNWYxODI4YjdkZjRjY2E5Yzc5N2VkZTI4MjFhYWI1L3RhYmxlcmFuZ2U6NWY1ZjE4MjhiN2RmNGNjYTljNzk3ZWRlMjgyMWFhYjVfMi00LTEtMS0w_972137b7-8628-42b9-abd3-687b42a72356"
      unitRef="usdPerShare">144.33</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="ibc8cc1f06fac4621bdbc5ec636ea6da1_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjVmNWYxODI4YjdkZjRjY2E5Yzc5N2VkZTI4MjFhYWI1L3RhYmxlcmFuZ2U6NWY1ZjE4MjhiN2RmNGNjYTljNzk3ZWRlMjgyMWFhYjVfMy0yLTEtMS0w_10700c4d-1a0b-42d7-955e-cce520232e49"
      unitRef="shares">3000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="ibc8cc1f06fac4621bdbc5ec636ea6da1_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjVmNWYxODI4YjdkZjRjY2E5Yzc5N2VkZTI4MjFhYWI1L3RhYmxlcmFuZ2U6NWY1ZjE4MjhiN2RmNGNjYTljNzk3ZWRlMjgyMWFhYjVfMy00LTEtMS0w_1b6dce36-807b-4d5a-b476-e58ba810c5e7"
      unitRef="usdPerShare">160.34</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="ibc8cc1f06fac4621bdbc5ec636ea6da1_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjVmNWYxODI4YjdkZjRjY2E5Yzc5N2VkZTI4MjFhYWI1L3RhYmxlcmFuZ2U6NWY1ZjE4MjhiN2RmNGNjYTljNzk3ZWRlMjgyMWFhYjVfNC0yLTEtMS0w_ceb666ef-8f43-421a-9b65-de482ca5f50c"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="ibc8cc1f06fac4621bdbc5ec636ea6da1_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjVmNWYxODI4YjdkZjRjY2E5Yzc5N2VkZTI4MjFhYWI1L3RhYmxlcmFuZ2U6NWY1ZjE4MjhiN2RmNGNjYTljNzk3ZWRlMjgyMWFhYjVfNC00LTEtMS0w_3cba5140-dc8c-4cf0-ac1a-62ce5c476a2b"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i1fa786168841439a93c8c2e916577768_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjVmNWYxODI4YjdkZjRjY2E5Yzc5N2VkZTI4MjFhYWI1L3RhYmxlcmFuZ2U6NWY1ZjE4MjhiN2RmNGNjYTljNzk3ZWRlMjgyMWFhYjVfNS0yLTEtMS0w_b8b52798-e982-424d-95b4-5d90b626416d"
      unitRef="shares">6000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i1fa786168841439a93c8c2e916577768_I20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RhYmxlOjVmNWYxODI4YjdkZjRjY2E5Yzc5N2VkZTI4MjFhYWI1L3RhYmxlcmFuZ2U6NWY1ZjE4MjhiN2RmNGNjYTljNzk3ZWRlMjgyMWFhYjVfNS00LTEtMS0w_6f51ef46-01e2-4921-86a6-65499ca8f2c7"
      unitRef="usdPerShare">143.74</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ibc8cc1f06fac4621bdbc5ec636ea6da1_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNTAxNg_5b63c890-7dc0-4ffb-81af-87ea54370305">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i9ea342cb717b486f9464c87038c11bfe_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNDcxNA_5fb5b5af-0b62-4536-b403-c36186b7739d"
      unitRef="usd">200000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i083be320e66b42978fe2513c9e065532_D20200401-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNDcyMQ_b9c7359e-4aee-4550-8da3-94a3a83b0a78"
      unitRef="usd">200000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ibc8cc1f06fac4621bdbc5ec636ea6da1_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTY0OTI2NzQ0NjgwNw_621a01cc-0a8c-43ce-a12c-e800f3876aba"
      unitRef="usd">300000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ide895304836b4cb2ab577956c806111b_D20200101-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfMTY0OTI2NzQ0NjgxNQ_a64e43fa-03c1-440a-825c-24911cacdf35"
      unitRef="usd">300000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="i1fa786168841439a93c8c2e916577768_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNDkxNQ_7e721cb7-88af-4910-8b85-476513d87702"
      unitRef="usd">700000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="ibc8cc1f06fac4621bdbc5ec636ea6da1_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82NC9mcmFnOjBhMWU4OWI1N2E0ODQwMjQ5NGMxYTBiYzgwMWU1NzUwL3RleHRyZWdpb246MGExZTg5YjU3YTQ4NDAyNDk0YzFhMGJjODAxZTU3NTBfNDk4OA_5208f0a2-c956-43be-a3ee-ee5c6c142a2c">P0Y10M24D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82Ny9mcmFnOjVhNWRkYTQ4NjU1ZjRjZjE4ZTIxYTJiZjY0Y2JkMGFjL3RleHRyZWdpb246NWE1ZGRhNDg2NTVmNGNmMThlMjFhMmJmNjRjYmQwYWNfODc4_513547fc-4665-4f42-b691-ecd204cddef3">Income Taxes&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We calculate our benefit from income taxes on a quarterly basis by applying an estimated annual effective tax rate to income from operations and by calculating the tax effect of discrete items recognized during the quarter. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;For the three and six months ended June&#160;30, 2021, we recorded an income tax benefit of $0.3 million and $5.9 million, respectively. The effective tax rate as compared to the U.S. federal statutory rate of 21% differs primarily due to the significance of the benefits associated with stock-based compensation expense and research and development tax credits in relation to the forecasted pre-tax results for the year. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;For the three and six months ended June&#160;30, 2020, we recorded income tax benefit of $13.5 million and $13.1 million, respectively. The effective tax rate as compared to the U.S. federal statutory rate of 21% differs primarily due to the significance of the benefits associated with stock-based compensation expense and research and development tax credits in relation to the forecasted pre-tax results for the year.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;There were no material changes to our unrecognized tax benefits during the six months ended June&#160;30, 2021 and we do not expect to have any significant changes to unrecognized tax benefits through the end of the fiscal year.&lt;/span&gt;&lt;/div&gt;As of June 30, 2021, we have approximately $4.7&#160;million of net deferred tax assets. At this time, we consider it more likely than not that we will have sufficient taxable income in the future that will allow us to realize these deferred tax assets. However, it is possible that in certain jurisdictions some or all of our net operating loss carryforwards and research tax credits may expire unused if we are unable to sustain a certain level of future profitability in those jurisdictions, in which event a valuation allowance may be necessary to reduce our deferred tax assets.</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82Ny9mcmFnOjVhNWRkYTQ4NjU1ZjRjZjE4ZTIxYTJiZjY0Y2JkMGFjL3RleHRyZWdpb246NWE1ZGRhNDg2NTVmNGNmMThlMjFhMmJmNjRjYmQwYWNfMzM1_5bfc85eb-7414-4f10-9c0c-dbda7b40b5a8"
      unitRef="usd">-300000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82Ny9mcmFnOjVhNWRkYTQ4NjU1ZjRjZjE4ZTIxYTJiZjY0Y2JkMGFjL3RleHRyZWdpb246NWE1ZGRhNDg2NTVmNGNmMThlMjFhMmJmNjRjYmQwYWNfMTA5OTUxMTYyOTA4OA_b845a43e-2329-47a7-a1ec-65abb2fc2350"
      unitRef="usd">-5900000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82Ny9mcmFnOjVhNWRkYTQ4NjU1ZjRjZjE4ZTIxYTJiZjY0Y2JkMGFjL3RleHRyZWdpb246NWE1ZGRhNDg2NTVmNGNmMThlMjFhMmJmNjRjYmQwYWNfMTA5OTUxMTYyOTA3NA_4a0f54a1-4724-47bc-98d7-f351b1b79134"
      unitRef="usd">-13500000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82Ny9mcmFnOjVhNWRkYTQ4NjU1ZjRjZjE4ZTIxYTJiZjY0Y2JkMGFjL3RleHRyZWdpb246NWE1ZGRhNDg2NTVmNGNmMThlMjFhMmJmNjRjYmQwYWNfMTA5OTUxMTYyOTA2NQ_744117aa-0bfb-47ba-a17d-70ff0702e424"
      unitRef="usd">-13100000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="i49a83278583a4fd3a93151bd1e49d10e_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF82Ny9mcmFnOjVhNWRkYTQ4NjU1ZjRjZjE4ZTIxYTJiZjY0Y2JkMGFjL3RleHRyZWdpb246NWE1ZGRhNDg2NTVmNGNmMThlMjFhMmJmNjRjYmQwYWNfMjc0ODc3OTA3NDQxNQ_23eda228-63fb-49d1-a4a6-6622cadd700c"
      unitRef="usd">4700000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RleHRyZWdpb246NzZmZGM3OGZkZDViNDEwMTkzOTgwM2RhZjNjZWZlNjBfNDcx_24ac37ad-e41f-402b-8f98-a01531f51859">Revenue and Other Information&lt;div style="margin-top:6pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents our revenue categories for the three and six months ended June&#160;30, 2021 and 2020 (in thousands):&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:51.239%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.015%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;br/&gt;June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended&lt;br/&gt;June 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Core solutions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,363&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,061&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,963&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Value+ services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,447&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51,592&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111,957&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;95,730&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,230&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,390&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,467&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,845&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;89,040&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;81,043&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;167,961&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;153,538&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:5pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our revenue is generated primarily from customers in the United States. All of our property and equipment is located in the United States.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Deferred Revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the six months ended June&#160;30, 2021 and 2020, we recognized $1.8 million and $3.5 million of revenue, respectively, which were included in the deferred revenue balances as of December&#160;31, 2020 and 2019, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RleHRyZWdpb246NzZmZGM3OGZkZDViNDEwMTkzOTgwM2RhZjNjZWZlNjBfNDcz_6c36c293-c246-47bf-ba38-3d867bc4d876">&lt;div style="margin-top:6pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents our revenue categories for the three and six months ended June&#160;30, 2021 and 2020 (in thousands):&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:51.239%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.015%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;br/&gt;June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended&lt;br/&gt;June 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Core solutions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,363&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,061&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,963&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Value+ services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,447&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51,592&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111,957&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;95,730&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,230&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,390&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,467&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,845&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;89,040&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;81,043&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;167,961&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;153,538&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib29dfbc40149496bb48678d3d6aaed05_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfMi0yLTEtMS0w_157a8e5d-958f-4b58-971d-1bd8b542faf6"
      unitRef="usd">25363000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i55cae2869a1b4c668533f888f18db521_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfMi00LTEtMS0w_4d271711-8611-4607-98d7-658b41d2355a"
      unitRef="usd">26061000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iba5125b1e5b44561bdf592a85b5b11f1_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfMi02LTEtMS0w_1a66607b-fb74-423d-bdaa-464d3cc13714"
      unitRef="usd">49537000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6a1c13f61b5c40eab67e9f0a65914e9c_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfMi04LTEtMS0w_7515f44c-1ea2-4fc4-9b57-bc2f768d7803"
      unitRef="usd">50963000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5c5daae44e0e4ef084495db2c88278fd_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfMy0yLTEtMS0w_dce27cf0-29b2-4522-88e3-096eb66aab00"
      unitRef="usd">60447000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i003ee976ec8e49a3acc1bc3f86391e1a_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfMy00LTEtMS0w_f5851fa5-c8a2-401d-8f62-2f1d6116eecd"
      unitRef="usd">51592000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib2af20f788064359bfc915ec0e6a712a_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfMy02LTEtMS0w_dab549c3-6965-4f30-b8aa-40387f00dbdf"
      unitRef="usd">111957000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i807085b8a7d049dfbe3bf64f96d51d6f_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfMy04LTEtMS0w_a02778e6-b7f6-4e5b-9579-b41d7d873e63"
      unitRef="usd">95730000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4a660250c25148f694d3f8f14d0fc40e_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfNC0yLTEtMS0w_0a8a811d-21d6-4a20-9c25-4b006dfc1d44"
      unitRef="usd">3230000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i365faf2b4c5746a1ad4487b3c4f6ec9c_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfNC00LTEtMS0w_921b1a85-6709-450a-a2aa-8e7eb1d9869d"
      unitRef="usd">3390000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4ab913e85b484589accbf624ed271341_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfNC02LTEtMS0w_d1f77260-463c-4033-aea3-1cc3a7e824c9"
      unitRef="usd">6467000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if54140991131407ca66d98ec040d6ce2_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfNC04LTEtMS0w_4eefb68a-ee47-45ae-9bec-f3faa71a8604"
      unitRef="usd">6845000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfNS0yLTEtMS0w_5befe2e9-9324-4224-920d-28a4f5bad5a2"
      unitRef="usd">89040000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1a20f082a5934898881b5b70b43a3394_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfNS00LTEtMS0w_d1013a85-6720-4bfb-ace5-d6f616ef7fa8"
      unitRef="usd">81043000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfNS02LTEtMS0w_5924fc98-b89b-4795-bfba-2d100fc5c7ca"
      unitRef="usd">167961000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RhYmxlOjVhOTRjYjNiZWRmODRlNDNhZWRkZDczZmU5MGExNGQ5L3RhYmxlcmFuZ2U6NWE5NGNiM2JlZGY4NGU0M2FlZGRkNzNmZTkwYTE0ZDlfNS04LTEtMS0w_3eceae35-bb56-4ce0-84a0-d8a6f3f64203"
      unitRef="usd">153538000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RleHRyZWdpb246NzZmZGM3OGZkZDViNDEwMTkzOTgwM2RhZjNjZWZlNjBfMzUz_f5c93e95-3260-4ee9-bcde-65b9949dcab9"
      unitRef="usd">1800000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="i634f29b82dd949a9a7dc06baab0f0de1_D20200101-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF83MC9mcmFnOjc2ZmRjNzhmZGQ1YjQxMDE5Mzk4MDNkYWYzY2VmZTYwL3RleHRyZWdpb246NzZmZGM3OGZkZDViNDEwMTkzOTgwM2RhZjNjZWZlNjBfMzYw_91cfc041-3280-4207-8fd8-ce63ac0f686c"
      unitRef="usd">3500000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674653812856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover Page - shares<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Aug. 02, 2021</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentInformationLineItems', window );"><strong>Document Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-Q<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Jun. 30,  2021<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-37468<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">AppFolio, Inc.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">26-0359894<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">50 Castilian Drive<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Santa Barbara,<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">CA<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">93117<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">805<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">364-6093<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Class A Common Stock, $0.0001 par value<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">APPF<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Large Accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001433195<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2021<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember', window );">Class A common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentInformationLineItems', window );"><strong>Document Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,991,205<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember', window );">Class B common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentInformationLineItems', window );"><strong>Document Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15,620,784<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an quarterly report.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-Q<br> -Number 240<br> -Section 308<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentQuarterlyReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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'.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674653700280">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Balance Sheets (Unaudited) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 48,610<span></span>
</td>
<td class="nump">$ 140,263<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Investment securities&#8212;current</a></td>
<td class="nump">102,978<span></span>
</td>
<td class="nump">28,256<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">14,973<span></span>
</td>
<td class="nump">10,057<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">23,306<span></span>
</td>
<td class="nump">20,777<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">189,867<span></span>
</td>
<td class="nump">199,353<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Investment securities&#8212;noncurrent</a></td>
<td class="nump">11,541<span></span>
</td>
<td class="nump">6,770<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">27,324<span></span>
</td>
<td class="nump">26,439<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right-of-use assets</a></td>
<td class="nump">40,983<span></span>
</td>
<td class="nump">30,561<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedComputerSoftwareNet', window );">Capitalized software development costs, net</a></td>
<td class="nump">39,225<span></span>
</td>
<td class="nump">35,459<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">56,147<span></span>
</td>
<td class="nump">56,147<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="nump">14,017<span></span>
</td>
<td class="nump">16,357<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred income taxes&#8212;noncurrent</a></td>
<td class="nump">12,774<span></span>
</td>
<td class="nump">12,181<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other long-term assets</a></td>
<td class="nump">7,194<span></span>
</td>
<td class="nump">6,213<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">399,072<span></span>
</td>
<td class="nump">389,480<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">2,411<span></span>
</td>
<td class="nump">1,040<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Accrued employee expenses&#8212;current</a></td>
<td class="nump">27,504<span></span>
</td>
<td class="nump">18,888<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued expenses</a></td>
<td class="nump">11,403<span></span>
</td>
<td class="nump">14,069<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue</a></td>
<td class="nump">3,205<span></span>
</td>
<td class="nump">2,262<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxesPayableCurrent', window );">Income tax payable</a></td>
<td class="nump">66<span></span>
</td>
<td class="nump">9,095<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesCurrent', window );">Other current liabilities</a></td>
<td class="nump">4,196<span></span>
</td>
<td class="nump">4,451<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">48,785<span></span>
</td>
<td class="nump">49,805<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent', window );">Accrued employee expenses&#8212;noncurrent</a></td>
<td class="nump">968<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities</a></td>
<td class="nump">53,936<span></span>
</td>
<td class="nump">40,146<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred income taxes&#8212;noncurrent</a></td>
<td class="nump">8,116<span></span>
</td>
<td class="nump">13,609<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">111,805<span></span>
</td>
<td class="nump">103,560<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies (Note 9)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders&#8217; equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock, $0.0001 par value, 25,000 shares authorized and no shares issued and outstanding as of June&#160;30, 2021 and December&#160;31, 2020</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapital', window );">Additional paid-in capital</a></td>
<td class="nump">160,160<span></span>
</td>
<td class="nump">161,247<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive (loss) income</a></td>
<td class="num">(10)<span></span>
</td>
<td class="nump">56<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Treasury stock, at cost, 419 shares of Class A common stock as of June&#160;30, 2021 and December&#160;31, 2020</a></td>
<td class="num">(25,756)<span></span>
</td>
<td class="num">(25,756)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">152,869<span></span>
</td>
<td class="nump">150,369<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders&#8217; equity</a></td>
<td class="nump">287,267<span></span>
</td>
<td class="nump">285,920<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders&#8217; equity</a></td>
<td class="nump">399,072<span></span>
</td>
<td class="nump">389,480<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember', window );">Class A common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders&#8217; equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock</a></td>
<td class="nump">2<span></span>
</td>
<td class="nump">2<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember', window );">Class B common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders&#8217; equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock</a></td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669686-108580<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=d3e681-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (g)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6801-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 15: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount 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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26626-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount 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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26626-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedComputerSoftwareNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying amount of capitalized computer software costs net of accumulated amortization as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedComputerSoftwareNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.(a),19)<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14326-108349<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123360276&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123360276&amp;loc=SL49130532-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.15(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120320667&amp;loc=SL49117168-202975<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16212-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 20: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6904-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6911-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (g)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=6405834&amp;loc=d3e23315-112656<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674736791976">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Balance Sheets (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized (in shares)</a></td>
<td class="nump">25,000,000<span></span>
</td>
<td class="nump">25,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember', window );">Class A common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized (in shares)</a></td>
<td class="nump">250,000,000<span></span>
</td>
<td class="nump">250,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued (in shares)</a></td>
<td class="nump">19,408,000<span></span>
</td>
<td class="nump">19,148,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding (in shares)</a></td>
<td class="nump">18,989,000<span></span>
</td>
<td class="nump">18,729,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockShares', window );">Treasury stock (in shares)</a></td>
<td class="nump">419,000<span></span>
</td>
<td class="nump">419,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember', window );">Class B common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized (in shares)</a></td>
<td class="nump">50,000,000<span></span>
</td>
<td class="nump">50,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued (in shares)</a></td>
<td class="nump">15,621,000<span></span>
</td>
<td class="nump">15,659,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding (in shares)</a></td>
<td class="nump">15,621,000<span></span>
</td>
<td class="nump">15,659,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674734435160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Operations (Unaudited) - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>Income Statement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 89,040<span></span>
</td>
<td class="nump">$ 81,043<span></span>
</td>
<td class="nump">$ 167,961<span></span>
</td>
<td class="nump">$ 153,538<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostsAndExpensesAbstract', window );"><strong>Costs and operating expenses:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of revenue (exclusive of depreciation and amortization)</a></td>
<td class="nump">32,819<span></span>
</td>
<td class="nump">27,411<span></span>
</td>
<td class="nump">66,117<span></span>
</td>
<td class="nump">56,372<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Sales and marketing</a></td>
<td class="nump">17,714<span></span>
</td>
<td class="nump">13,717<span></span>
</td>
<td class="nump">33,893<span></span>
</td>
<td class="nump">28,223<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and product development</a></td>
<td class="nump">15,506<span></span>
</td>
<td class="nump">12,128<span></span>
</td>
<td class="nump">29,889<span></span>
</td>
<td class="nump">23,340<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="nump">14,206<span></span>
</td>
<td class="nump">14,785<span></span>
</td>
<td class="nump">27,567<span></span>
</td>
<td class="nump">23,357<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">7,649<span></span>
</td>
<td class="nump">6,657<span></span>
</td>
<td class="nump">15,018<span></span>
</td>
<td class="nump">13,071<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostsAndExpenses', window );">Total costs and operating expenses</a></td>
<td class="nump">87,894<span></span>
</td>
<td class="nump">74,698<span></span>
</td>
<td class="nump">172,484<span></span>
</td>
<td class="nump">144,363<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income (loss) from operations</a></td>
<td class="nump">1,146<span></span>
</td>
<td class="nump">6,345<span></span>
</td>
<td class="num">(4,523)<span></span>
</td>
<td class="nump">9,175<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income (loss), net</a></td>
<td class="nump">496<span></span>
</td>
<td class="num">(10)<span></span>
</td>
<td class="nump">1,058<span></span>
</td>
<td class="nump">12<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestIncomeExpenseNet', window );">Interest income (expense), net</a></td>
<td class="nump">55<span></span>
</td>
<td class="num">(562)<span></span>
</td>
<td class="nump">108<span></span>
</td>
<td class="num">(1,056)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before benefit from income taxes</a></td>
<td class="nump">1,697<span></span>
</td>
<td class="nump">5,773<span></span>
</td>
<td class="num">(3,357)<span></span>
</td>
<td class="nump">8,131<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Benefit from income taxes</a></td>
<td class="num">(324)<span></span>
</td>
<td class="num">(13,484)<span></span>
</td>
<td class="num">(5,857)<span></span>
</td>
<td class="num">(13,109)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 2,021<span></span>
</td>
<td class="nump">$ 19,257<span></span>
</td>
<td class="nump">$ 2,500<span></span>
</td>
<td class="nump">$ 21,240<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Net income per common share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="nump">$ 0.06<span></span>
</td>
<td class="nump">$ 0.56<span></span>
</td>
<td class="nump">$ 0.07<span></span>
</td>
<td class="nump">$ 0.62<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted (in dollars per share)</a></td>
<td class="nump">$ 0.06<span></span>
</td>
<td class="nump">$ 0.54<span></span>
</td>
<td class="nump">$ 0.07<span></span>
</td>
<td class="nump">$ 0.60<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Weighted average common shares outstanding:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="nump">34,548<span></span>
</td>
<td class="nump">34,254<span></span>
</td>
<td class="nump">34,479<span></span>
</td>
<td class="nump">34,214<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted (in shares)</a></td>
<td class="nump">35,674<span></span>
</td>
<td class="nump">35,614<span></span>
</td>
<td class="nump">35,697<span></span>
</td>
<td class="nump">35,647<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI http://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostsAndExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total costs of sales and operating expenses for the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostsAndExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostsAndExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostsAndExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123384075&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestIncomeExpenseNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net amount of operating interest income (expense).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.10)<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestIncomeExpenseNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 730<br> -Section 25<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6472174&amp;loc=d3e58812-109433<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI http://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingAndMarketingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate total amount of expenses directly related to the marketing or selling of products or services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingAndMarketingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674658478840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Comprehensive Income (Unaudited) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract', window );"><strong>Statement of Comprehensive Income [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 2,021<span></span>
</td>
<td class="nump">$ 19,257<span></span>
</td>
<td class="nump">$ 2,500<span></span>
</td>
<td class="nump">$ 21,240<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract', window );"><strong>Other comprehensive income:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax', window );">Changes in unrealized (losses) gains on investment securities</a></td>
<td class="num">(48)<span></span>
</td>
<td class="num">(34)<span></span>
</td>
<td class="num">(66)<span></span>
</td>
<td class="nump">98<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive income</a></td>
<td class="nump">$ 1,973<span></span>
</td>
<td class="nump">$ 19,223<span></span>
</td>
<td class="nump">$ 2,434<span></span>
</td>
<td class="nump">$ 21,338<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=d3e557-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674735315384">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Stockholders' Equity (Unaudited) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th">
<div>Common Stock </div>
<div>Class A common stock</div>
</th>
<th class="th">
<div>Common Stock </div>
<div>Class B common stock</div>
</th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th"><div>Accumulated Other Comprehensive Income (Loss)</div></th>
<th class="th"><div>Treasury Stock</div></th>
<th class="th"><div>Retained Earnings/(Accumulated Deficit)</div></th>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Beginning balance (in shares) at Dec. 31, 2019</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,552,000<span></span>
</td>
<td class="nump">17,594,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Dec. 31, 2019</a></td>
<td class="nump">$ 131,950<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">$ 161,509<span></span>
</td>
<td class="nump">$ 33<span></span>
</td>
<td class="num">$ (21,562)<span></span>
</td>
<td class="num">$ (8,034)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of stock options (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Exercise of stock options</a></td>
<td class="nump">97<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">97<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">1,365<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,365<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings', window );">Vesting of restricted stock units, net of shares withheld for taxes (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">91,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings', window );">Vesting of restricted stock units, net of shares withheld for taxes</a></td>
<td class="num">(6,458)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(6,458)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConversionOfStockSharesConverted1', window );">Conversion of Class B stock to Class A stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">58,000<span></span>
</td>
<td class="num">(58,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax', window );">Other comprehensive income (loss)</a></td>
<td class="nump">$ 132<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">132<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockSharesAcquired', window );">Repurchase of common stock (in shares)</a></td>
<td class="num">(48,002)<span></span>
</td>
<td class="num">(48,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockValueAcquiredCostMethod', window );">Repurchase of common stock</a></td>
<td class="num">$ (4,194)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,194)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">1,983<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,983<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance (in shares) at Mar. 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,670,000<span></span>
</td>
<td class="nump">17,536,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Mar. 31, 2020</a></td>
<td class="nump">124,875<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">156,513<span></span>
</td>
<td class="nump">165<span></span>
</td>
<td class="num">(25,756)<span></span>
</td>
<td class="num">(6,051)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Beginning balance (in shares) at Dec. 31, 2019</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,552,000<span></span>
</td>
<td class="nump">17,594,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Dec. 31, 2019</a></td>
<td class="nump">131,950<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">161,509<span></span>
</td>
<td class="nump">33<span></span>
</td>
<td class="num">(21,562)<span></span>
</td>
<td class="num">(8,034)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">21,240<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance (in shares) at Jun. 30, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,952,000<span></span>
</td>
<td class="nump">17,339,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Jun. 30, 2020</a></td>
<td class="nump">144,504<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">156,919<span></span>
</td>
<td class="nump">131<span></span>
</td>
<td class="num">(25,756)<span></span>
</td>
<td class="nump">13,206<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Beginning balance (in shares) at Mar. 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,670,000<span></span>
</td>
<td class="nump">17,536,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Mar. 31, 2020</a></td>
<td class="nump">124,875<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">156,513<span></span>
</td>
<td class="nump">165<span></span>
</td>
<td class="num">(25,756)<span></span>
</td>
<td class="num">(6,051)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of stock options (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">32,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Exercise of stock options</a></td>
<td class="nump">232<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">232<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">3,406<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,406<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings', window );">Vesting of restricted stock units, net of shares withheld for taxes (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings', window );">Vesting of restricted stock units, net of shares withheld for taxes</a></td>
<td class="num">(3,232)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,232)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConversionOfStockSharesConverted1', window );">Conversion of Class B stock to Class A stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">197,000<span></span>
</td>
<td class="num">(197,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Issuance of restricted stock awards (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax', window );">Other comprehensive income (loss)</a></td>
<td class="num">(34)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(34)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">19,257<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19,257<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance (in shares) at Jun. 30, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,952,000<span></span>
</td>
<td class="nump">17,339,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Jun. 30, 2020</a></td>
<td class="nump">144,504<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">156,919<span></span>
</td>
<td class="nump">131<span></span>
</td>
<td class="num">(25,756)<span></span>
</td>
<td class="nump">13,206<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Beginning balance (in shares) at Dec. 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,729,000<span></span>
</td>
<td class="nump">15,659,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Dec. 31, 2020</a></td>
<td class="nump">285,920<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">161,247<span></span>
</td>
<td class="nump">56<span></span>
</td>
<td class="num">(25,756)<span></span>
</td>
<td class="nump">150,369<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of stock options (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">23,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Exercise of stock options</a></td>
<td class="nump">100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">3,295<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,295<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings', window );">Vesting of restricted stock units, net of shares withheld for taxes (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">42,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings', window );">Vesting of restricted stock units, net of shares withheld for taxes</a></td>
<td class="num">(3,992)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,992)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConversionOfStockSharesConverted1', window );">Conversion of Class B stock to Class A stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">108,000<span></span>
</td>
<td class="num">(108,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax', window );">Other comprehensive income (loss)</a></td>
<td class="num">(18)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(18)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">479<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">479<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance (in shares) at Mar. 31, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,902,000<span></span>
</td>
<td class="nump">15,551,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Mar. 31, 2021</a></td>
<td class="nump">285,784<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">160,650<span></span>
</td>
<td class="nump">38<span></span>
</td>
<td class="num">(25,756)<span></span>
</td>
<td class="nump">150,848<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Beginning balance (in shares) at Dec. 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,729,000<span></span>
</td>
<td class="nump">15,659,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Dec. 31, 2020</a></td>
<td class="nump">$ 285,920<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">161,247<span></span>
</td>
<td class="nump">56<span></span>
</td>
<td class="num">(25,756)<span></span>
</td>
<td class="nump">150,369<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of stock options (in shares)</a></td>
<td class="nump">120,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 2,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance (in shares) at Jun. 30, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,989,000<span></span>
</td>
<td class="nump">15,621,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Jun. 30, 2021</a></td>
<td class="nump">287,267<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">160,160<span></span>
</td>
<td class="num">(10)<span></span>
</td>
<td class="num">(25,756)<span></span>
</td>
<td class="nump">152,869<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Beginning balance (in shares) at Mar. 31, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,902,000<span></span>
</td>
<td class="nump">15,551,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Mar. 31, 2021</a></td>
<td class="nump">285,784<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">160,650<span></span>
</td>
<td class="nump">38<span></span>
</td>
<td class="num">(25,756)<span></span>
</td>
<td class="nump">150,848<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of stock options (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">13,000<span></span>
</td>
<td class="nump">84,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Exercise of stock options</a></td>
<td class="nump">545<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">545<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">3,873<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,873<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings', window );">Vesting of restricted stock units, net of shares withheld for taxes (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">56,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings', window );">Vesting of restricted stock units, net of shares withheld for taxes</a></td>
<td class="num">(4,908)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,908)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConversionOfStockSharesConverted1', window );">Conversion of Class B stock to Class A stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,000<span></span>
</td>
<td class="num">(14,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Issuance of restricted stock awards (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax', window );">Other comprehensive income (loss)</a></td>
<td class="num">(48)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(48)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">2,021<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,021<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance (in shares) at Jun. 30, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,989,000<span></span>
</td>
<td class="nump">15,621,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Jun. 30, 2021</a></td>
<td class="nump">$ 287,267<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">$ 160,160<span></span>
</td>
<td class="num">$ (10)<span></span>
</td>
<td class="num">$ (25,756)<span></span>
</td>
<td class="nump">$ 152,869<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Restricted Stock Units, Shares Issued Net Of Shares For Tax Withholdings</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Restricted Stock Units, Value, Shares Issued Net Of Tax Withholdings</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=122142933&amp;loc=d3e11149-113907<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=122142933&amp;loc=d3e11178-113907<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123468992&amp;loc=d3e4534-113899<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConversionOfStockSharesConverted1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4313-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4304-108586<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4332-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConversionOfStockSharesConverted1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInStockholdersEquityRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442407-227067<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 17<br> -URI http://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32136-110900<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=124507222&amp;loc=d3e1436-108581<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442411-227067<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockSharesAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and are being held in treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockSharesAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValueAcquiredCostMethod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValueAcquiredCostMethod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674734643928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Cash Flows (Unaudited) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash from operating activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 2,500<span></span>
</td>
<td class="nump">$ 21,240<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts', window );">Depreciation and amortization</a></td>
<td class="nump">15,018<span></span>
</td>
<td class="nump">13,071<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_AmortizationOfOperatingLeaseRightOfUseAssets', window );">Amortization of operating lease right-of-use assets</a></td>
<td class="nump">1,399<span></span>
</td>
<td class="nump">2,071<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxesAndTaxCredits', window );">Deferred income taxes</a></td>
<td class="num">(6,086)<span></span>
</td>
<td class="num">(13,137)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">5,990<span></span>
</td>
<td class="nump">3,712<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNoncashIncomeExpense', window );">Other</a></td>
<td class="num">(579)<span></span>
</td>
<td class="num">(30)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="num">(4,007)<span></span>
</td>
<td class="num">(5,136)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="num">(2,171)<span></span>
</td>
<td class="num">(292)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets', window );">Other assets</a></td>
<td class="num">(982)<span></span>
</td>
<td class="num">(107)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="nump">1,301<span></span>
</td>
<td class="nump">193<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities', window );">Accrued employee expenses&#8212;current</a></td>
<td class="nump">7,638<span></span>
</td>
<td class="nump">717<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities', window );">Accrued expenses</a></td>
<td class="num">(3,047)<span></span>
</td>
<td class="nump">4,534<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability', window );">Deferred revenue</a></td>
<td class="nump">33<span></span>
</td>
<td class="nump">532<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable', window );">Income tax payable</a></td>
<td class="num">(9,029)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherCurrentLiabilities', window );">Other current liabilities</a></td>
<td class="nump">30<span></span>
</td>
<td class="nump">100<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent', window );">Accrued employee expenses&#8212;noncurrent</a></td>
<td class="nump">968<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_IncreaseDecreaseInOperatingLeases', window );">Operating lease liabilities</a></td>
<td class="nump">1,685<span></span>
</td>
<td class="num">(92)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="nump">10,661<span></span>
</td>
<td class="nump">27,376<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash from investing activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt', window );">Purchases of available-for-sale investments</a></td>
<td class="num">(148,293)<span></span>
</td>
<td class="num">(13,389)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt', window );">Proceeds from sales of available-for-sale investments</a></td>
<td class="nump">42,198<span></span>
</td>
<td class="nump">13,942<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities', window );">Proceeds from maturities of available-for-sale investments</a></td>
<td class="nump">26,750<span></span>
</td>
<td class="nump">7,750<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchases of property, equipment and intangible assets</a></td>
<td class="num">(2,804)<span></span>
</td>
<td class="num">(14,306)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToDevelopSoftware', window );">Capitalization of software development costs</a></td>
<td class="num">(11,911)<span></span>
</td>
<td class="num">(12,709)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(94,060)<span></span>
</td>
<td class="num">(18,712)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash from financing activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from stock option exercises</a></td>
<td class="nump">646<span></span>
</td>
<td class="nump">329<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Tax withholding for net share settlement</a></td>
<td class="num">(8,900)<span></span>
</td>
<td class="num">(9,690)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Payment of contingent consideration</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(5,977)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfSecuredDebt', window );">Proceeds from issuance of debt</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">50,190<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfSecuredDebt', window );">Principal payments on debt</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(1,818)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Purchase of treasury stock</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(4,194)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash (used in) provided by financing activities</a></td>
<td class="num">(8,254)<span></span>
</td>
<td class="nump">28,840<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net (decrease) increase in cash, cash equivalents and restricted cash</a></td>
<td class="num">(91,653)<span></span>
</td>
<td class="nump">37,504<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract', window );"><strong>Cash, cash equivalents and restricted cash</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Beginning of period</a></td>
<td class="nump">140,699<span></span>
</td>
<td class="nump">16,247<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">End of period</a></td>
<td class="nump">49,046<span></span>
</td>
<td class="nump">53,751<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract', window );"><strong>Noncash investing and financing activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalExpendituresIncurredButNotYetPaid', window );">Purchases of property and equipment included in accounts payable and accrued expenses</a></td>
<td class="nump">822<span></span>
</td>
<td class="nump">2,678<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid', window );">Capitalization of software development costs included in accrued expenses and accrued employee expenses</a></td>
<td class="nump">1,361<span></span>
</td>
<td class="nump">1,281<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount', window );">Stock-based compensation capitalized for software development</a></td>
<td class="nump">1,178<span></span>
</td>
<td class="nump">1,059<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">48,610<span></span>
</td>
<td class="nump">53,315<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalents', window );">Restricted cash included in other assets</a></td>
<td class="nump">436<span></span>
</td>
<td class="nump">436<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Total cash, cash equivalents and restricted cash</a></td>
<td class="nump">$ 49,046<span></span>
</td>
<td class="nump">$ 53,751<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_AmortizationOfOperatingLeaseRightOfUseAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amortization Of Operating Lease, Right-Of-Use Assets</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_AmortizationOfOperatingLeaseRightOfUseAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Capitalized Computer Software Additions, Incurred But Not Yet Paid</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Depreciation, Depletion and Amortization, Excluding Amortization of Financing Costs</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Increase (Decrease) In Employee-related Liabilities, Noncurrent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_IncreaseDecreaseInOperatingLeases">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Increase (Decrease) In Operating Leases</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_IncreaseDecreaseInOperatingLeases</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalExpendituresIncurredButNotYetPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Future cash outflow to pay for purchases of fixed assets that have occurred.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4332-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4313-108586<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4304-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalExpendituresIncurredButNotYetPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxesAndTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) and income tax credits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxesAndTaxCredits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cost capitalized for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 310<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123371682&amp;loc=d3e55415-109406<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in other expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherCurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in current liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherCurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncashInvestingAndFinancingItemsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNoncashIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNoncashIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3213-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3151-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26853-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToDevelopSoftware">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToDevelopSoftware</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfSecuredDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from amounts received from issuance of long-term debt that is wholly or partially secured by collateral. Excludes proceeds from tax exempt secured debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfSecuredDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26853-111562<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3151-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26853-111562<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3151-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=SL79508275-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfSecuredDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to repay long-term debt that is wholly or partially secured by collateral. Excludes repayments of tax exempt secured debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfSecuredDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashAndCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents restricted as to withdrawal or usage. 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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=SL98516268-108586<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3044-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674651031704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Nature of Business<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NatureOfOperations', window );">Nature of Business</a></td>
<td class="text">Nature of Business<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%">AppFolio, Inc. (the "Company," "we," "us" or "our") provides innovative software, services and data analytics to the real estate industry. Our cloud-based solutions are used primarily by property managers, but also by numerous other constituencies in the property management business ecosystem. These other constituencies include property owners, rental prospects, tenants and service providers, whom we refer to collectively as "users". Although specific functionality varies by product, our core solutions are designed to enable our customers to digitally transform their businesses, address critical business operations and enable exceptional customer service. In addition to our core solutions, we offer an array of optional, but often business-critical, Value+ services that are designed to enhance, automate and streamline processes and workflows that are essential to our customers' businesses. Our Value+ services are generally available on an as-needed basis and enable our customers to adapt our offerings to their specific operational requirements.</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-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%">Our solutions and services are designed to be a system of record to automate essential business processes, a system of engagement to enhance business interactions between our customers and users and a system of intelligence to leverage data to predict and optimize business workflows in order to enable exceptional customer experiences and increase efficiency across our customers' businesses.</span><span style="color:#3051f2;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:115%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our mobile-optimized software solutions are designed for use across multiple devices and operating systems. Our software solutions are offered as a service, are hosted using a modern cloud-based architecture, and in part, use artificial intelligence technologies. This architecture leads to rich data sets that have a consistent schema across our customer and user base and enables us to deploy data-powered products and services for our customers and users.</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%">During the six months ended June&#160;30, 2020, we also provided software solutions and services to the legal industry via MyCase, a software solution primarily designed for small and mid-sized law firms. As previously disclosed, we completed our divestiture of MyCase, Inc. on September 30, 2020. For additional details, see Note 3, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Divestitures</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NatureOfOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -URI http://asc.fasb.org/topic&amp;trid=2134479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NatureOfOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674653041464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock', window );">Summary of Significant Accounting Policies</a></td>
<td class="text">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 (&#8220;GAAP&#8221;) 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 March 1, 2021. 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&#160;30, 2021 are not necessarily indicative of the results expected for the full year ending December&#160;31, 2021.</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%">Reclassifications</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-weight:400;line-height:120%">We reclassified certain amounts in our Condensed Consolidated Statements of Cash Flows within the cash 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-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%">Changes in 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%">Except as described below under&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Recently Adopted Accounting Pronouncements</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, there have been no significant changes in our accounting policies from those disclosed in our annual consolidated financial statements and the related notes included in our Annual Report.</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 assets and liabilities assumed in business combinations, fair value of financial instruments, capitalized software 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 valuation and assumptions underlying stock-based compensation and other equity instruments. </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%">In light of the unknown duration and severity of COVID-19, we face a greater degree of uncertainty than normal in making the judgments and estimates needed to apply our significant accounting policies. We assessed certain accounting matters that generally require consideration of forecasted financial information in context with the information reasonably available to us and the unknown future impacts of COVID-19 as of June&#160;30, 2021 and through the date of this report. The accounting matters assessed included, but were not limited to, our allowance for credit losses, the carrying value of goodwill and other long-lived assets, performance-based compensation and income taxes.</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 the date of our Condensed Consolidated Financial Statements, we are not aware of any specific event or circumstance that would require us to update our estimates or judgments or to revise the carrying value of our assets or liabilities. However, these estimates and judgments may change as new events occur and additional information is obtained, which may result in changes being recognized in our consolidated financial statements in future periods. While we considered the effects of COVID-19 in our estimates and assumptions, due to the level of uncertainty regarding the economic and operational impacts of COVID-19 on our business, there may be other judgments and assumptions that we have not considered. Such judgments and assumptions could result in a meaningful impact on our financial statements in future periods. 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 Income per Common Share</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%">Net income 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 income 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:100.000%"><tr><td style="width:1.0%"/><td style="width:59.426%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.110%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.110%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.818%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.823%"/><td style="width:0.1%"/></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%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><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 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%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><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%">2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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%">2020</span></td><td colspan="3" style="padding:0 1pt"/><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%">2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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%">2020</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 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,553&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,259&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,484&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,219&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,548&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,254&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,479&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,214&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">Plus:  Weighted average options, restricted stock units and restricted shares used to compute diluted net income per common share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:3pt double #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,126&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:3pt double #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,360&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:3pt double #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,218&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:3pt double #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,433&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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; diluted</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,674&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,614&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,697&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,647&#160;</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"/></tr></table></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%">For the three and six months ended June&#160;30, 2021 and 2020, an aggregate of 120,000 and 146,000 shares, respectively, underlying performance-based restricted stock units ("PSUs") were not included in the computations of diluted and anti-dilutive shares as they are considered contingently issuable upon the satisfaction of predefined performance measures and their performance measures have not been met.</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%">Restricted stock units ("RSUs") with an anti-dilutive effect were excluded from the calculation of weighted average number of shares used to compute diluted net income per common share and they were not material for the three and six months ended June&#160;30, 2021 and 2020.</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 in 2020</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%">In June 2016, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") No. 2016-13,&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">("ASU 2016-13"), which amends the current accounting guidance and requires the measurement of all expected losses based on historical experience, current conditions and reasonable and supportable forecasts. This guidance amends the accounting for credit losses for available-for-sale investment securities and purchased financial assets with credit deterioration. We adopted ASU 2016-13 on January 1, 2020. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures. </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%">In August 2018, the FASB issued ASU No. 2018-15,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#160;Intangibles&#8212;Goodwill and Other&#8212;Internal-Use Software (Subtopic 350-40): Customer&#8217;s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">("ASU 2018-15"), a series of amendments which align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal use software license). The accounting for the service element of a hosting arrangement that is a service contract is not affected by these amendments. We adopted ASU 2018-15 on January 1, 2020. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures.</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 in 2021</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 December 2019, the FASB issued ASU No. 2019-12,&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">("ASU 2019-12").&#160;This amendment was issued to simplify the accounting for income taxes by removing certain exceptions for recognizing deferred taxes, performing intraperiod allocation, and calculating income taxes in interim periods. Further, ASU 2019-12 adds guidance to reduce complexity in certain areas, including recognizing deferred taxes for tax basis goodwill and allocating taxes to members of a consolidated group. This guidance also requires an entity to reflect the effect of an enacted change in tax laws or rates in its effective income tax rate in the first interim period that includes the enactment date of the new legislation, aligning the timing of recognition of the effects from enacted tax law changes on the effective income tax rate with the effects on deferred income tax assets and liabilities. Under existing guidance, an entity recognizes the effects of the enacted tax law change on the effective income tax rate in the period that includes the effective date of the tax law. We adopted ASU 2019-12 on January 1, 2021. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI http://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674651031704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Divestitures<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract', window );"><strong>Discontinued Operations and Disposal Groups [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationDisclosureTextBlock', window );">Divestitures</a></td>
<td class="text">Divestitures <div style="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%">Divestiture of MyCase</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%">On September 30, 2020, we completed our divestiture of 100% of our issued and outstanding equity interests of MyCase, Inc. ("MyCase"), a former wholly owned subsidiary that provided legal practice and case management software solutions to our legal customers, for $193.0&#160;million, consisting of $192.2&#160;million of cash proceeds, plus a $2.2&#160;million employee retention bonus pool funded by us, less cash divested of $0.8&#160;million and a preliminary working capital adjustment of $0.6&#160;million (the "MyCase Transaction"). The retention bonus pool is refundable to the Company to the extent that MyCase employees are terminated prior to the retention period, which is one year from the closing date of the MyCase Transaction.  </span></div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognized a pre-tax gain on the sale of $188.0&#160;million on the MyCase Transaction, consisting of cash proceeds of $192.2&#160;million, less net assets divested of $4.6&#160;million, plus an adjustment in the employee retention bonus pool of $0.4&#160;million. Net assets divested is primarily comprised of capitalized software of $3.9&#160;million, deferred revenue of $2.8&#160;million and goodwill allocated to MyCase of $2.3&#160;million. The gain on the sale was recorded within </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 income (loss), net</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> in our Condensed Consolidated Statements of Operations during the three months ended September 30, 2020. Income received during the three and six months ended June&#160;30, 2021 in relation to the transition services provided by us to MyCase was $0.3&#160;million and $0.7&#160;million, and is included within </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 income (loss), net</span> in our Condensed Consolidated Statements of Operations.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -URI http://asc.fasb.org/topic&amp;trid=2303972<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674653041464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Investment Securities and Fair Value Measurements<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock', window );">Investment Securities and Fair Value Measurements</a></td>
<td class="text">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&#160;30, 2021 and December&#160;31, 2020&#160;(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 style="width:43.535%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.515%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.515%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.515%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.208%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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, 2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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 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 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 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%">49,442&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">4&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">(7)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">49,439&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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,842&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,848&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">53,225&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">18&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">53,232&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">114,509&#160;</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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">35&#160;</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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">(25)</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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,519&#160;</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"/></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 style="width:43.535%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.515%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.515%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.515%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.208%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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, 2020</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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 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 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 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%">Agency securities</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,104&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">29&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,132&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">17,847&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">47&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,894&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">34,951&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">76&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">(1)</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,026&#160;</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"/></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%">For available-for-sale debt securities in an unrealized loss position, we first assess whether we intend to sell, or whether it is more likely than not that we will be required to sell the security before recovery of its amortized cost basis. If either of these criteria is met, the security&#8217;s amortized cost basis is written down to fair value through income. For securities in an unrealized loss position that do not meet these criteria, we evaluate whether the decline in fair value has resulted from&#160;credit loss&#160;or other factors. If this assessment indicates a&#160;credit loss&#160;exists, the credit-related portion of the loss is recorded as an allowance for losses on the security. No allowance for credit losses for available-for-sale investment securities was recorded as of June&#160;30, 2021 or December&#160;31, 2020.</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&#160;30, 2021 and December&#160;31, 2020, the contractual maturities of our investments did not exceed&#160;36 months. 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 style="width:43.490%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.208%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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, 2021</span></td><td colspan="3" style="padding:0 1pt"/><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, 2020</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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 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 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 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%">102,950&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">102,978&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">28,197&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">28,256&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">11,559&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,541&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,754&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,770&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">114,509&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,519&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">34,951&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,026&#160;</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"/></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&#160;30, 2021 and 2020, we had sales and maturities (which include calls) 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 style="width:43.490%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.208%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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, 2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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 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 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 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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">Agency securities</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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,250&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">42,198&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">21,500&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">6&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">42,198&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,750&#160;</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"/></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:99.853%"><tr><td style="width:1.0%"/><td style="width:42.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.369%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.369%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.369%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.374%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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, 2020</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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 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 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 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%">5&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">4,006&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">4,000&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">24&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,878&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,250&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,058&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,500&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">33&#160;</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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">13,942&#160;</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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">7,750&#160;</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"/></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%">Interest income, net of the amortization and accretion of the premium and discount, was $0.1 million for the three months ended June&#160;30, 2021 and 2020, and $0.1 million for the six months ended June&#160;30, 2021 and $0.2 million for the six months ended June&#160;30, 2020.</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%">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%">Financial assets and financial liabilities are classified in their entirety based on the lowest level of input that is significant to the fair value measurement. The following tables summarize our financial assets measured at fair value on a recurring basis as of June&#160;30, 2021 and December&#160;31, 2020 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:99.707%"><tr><td style="width:1.0%"/><td style="width:42.741%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.389%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.389%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.389%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.393%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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, 2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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&#160;1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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&#160;2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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&#160;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></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,030&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,030&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">9,500&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,500&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;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%">Commercial paper</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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">3,000&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">3,000&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">Available-for-sale investment securities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></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%">Corporate bonds</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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">49,439&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">49,439&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">Agency 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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,848&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,848&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">&#160;&#160;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%">53,232&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">53,232&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 #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%">67,762&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">64,287&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">132,049&#160;</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"/></tr></table></div><div style="margin-top:12pt"><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 style="width:42.741%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.389%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.389%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.389%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.393%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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, 2020</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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 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&#160;2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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&#160;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></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%">4,749&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">4,749&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">97,433&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">97,433&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">Agency 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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,132&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,132&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">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%">17,894&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,894&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 #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%">120,076&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">17,132&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">137,208&#160;</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"/></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%">The carrying amounts of restricted cash, accounts receivable, accounts payable and accrued liabilities approximate 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%">There were no changes to our valuation techniques used to measure financial asset and financial liability fair values on a recurring basis during the six months ended June&#160;30, 2021. The valuation techniques for the financial assets in the tables above are as follows:</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:400;line-height:120%">Cash Equivalents</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&#160;30, 2021 and December&#160;31, 2020, cash equivalents include cash invested in money market funds, commercial paper, and treasury securities with a maturity of three months or less. Fair value is based on market prices for identical assets.</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:400;line-height:120%">Available-for-Sale 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%">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-style:italic;font-weight:400;line-height:120%">Non-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%">Certain assets, including goodwill, intangible assets and our note receivable with SecureDocs, Inc., are also subject to measurement at fair value on a non-recurring basis using Level 3 measurement, but only when they are deemed to be impaired. For the six months ended June&#160;30, 2021 and 2020, no impairments were identified on those assets required to be measured at fair value on a non-recurring basis.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Investment Securities And Fair Value Measurements, Disclosure [Text Block]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674650668776">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Capitalized Software Development Cost, net<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentAbstract', window );"><strong>Research and Development [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock', window );">Capitalized Software Development Cost, net</a></td>
<td class="text">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:99.853%"><tr><td style="width:1.0%"/><td style="width:70.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.223%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.225%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><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/>2021</span></td><td colspan="3" style="padding:0 1pt"/><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/>2020</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 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,042&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,974&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">(71,817)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">(61,515)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">39,225&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,459&#160;</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"/></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 $7.0 million and $7.1 million for the three months ended June&#160;30, 2021 and 2020, respectively, and $14.1 million and $13.8 million for the six months ended June&#160;30, 2021 and 2020, respectively. Amortization expense with respect to capitalized software development costs totaled $5.3 million and $4.5 million for the three months ended June&#160;30, 2021 and 2020, respectively, and $10.3 million and $8.7 million for the six months ended June&#160;30, 2021 and 2020, 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-weight:400;line-height:120%">Future amortization expense with respect to capitalized software development costs 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 style="width:84.864%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.206%"/><td style="width:0.1%"/></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%">2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">10,545&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,432&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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,357&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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,891&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">&#160;&#160;&#160;&#160;Total amortization expense</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">39,225&#160;</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"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 730<br> -URI http://asc.fasb.org/subtopic&amp;trid=2197926<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674652326328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets, net<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock', window );">Intangible Assets, net</a></td>
<td class="text">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 style="width:37.992%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.394%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.394%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.394%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.398%"/><td style="width:0.1%"/></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%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><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, 2021</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%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><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&#160;Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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 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&#160;Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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&#160;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 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,840&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,778)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,062&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 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,330&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,203)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,127&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 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&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,391)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,148&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 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,890&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">(930)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">960&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 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&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 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,400&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">(3,704)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">3,696&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 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&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">(73)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 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&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">(245)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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 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%">28,021&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">(14,004)</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">14,017&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">6.3</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:99.707%"><tr><td style="width:1.0%"/><td style="width:38.196%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.416%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.122%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.416%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.418%"/><td style="width:0.1%"/></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%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><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, 2020</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%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><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&#160;Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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 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&#160;Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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&#160;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 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,840&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,550)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,290&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 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,330&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,787)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,543&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 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&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,641)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,898&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 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,890&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">(732)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,158&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 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&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 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,400&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,964)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,436&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 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&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">(70)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">20&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 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&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">(240)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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 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%">28,021&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">(11,664)</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">16,357&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">6.3</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 $1.2 million for the three months ended June&#160;30, 2021 and 2020, and $2.3 million and $2.5 million for the six months ended June&#160;30, 2021 and 2020, respectively. Future amortization expense with respect to intangible assets 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 style="width:85.449%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.621%"/><td style="width:0.1%"/></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%">2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">2,306&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,605&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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,060&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">835&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">833&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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,378&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">&#160;&#160;&#160;&#160;Total amortization expense</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">14,017&#160;</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"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -URI http://asc.fasb.org/topic&amp;trid=2144416<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674652361896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued Employee Expenses<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CompensationRelatedCostsAbstract', window );"><strong>Compensation Related Costs [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CompensationRelatedCostsGeneralTextBlock', window );">Accrued Employee Expenses</a></td>
<td class="text">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;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 style="width:69.806%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.792%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><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,</span></td><td colspan="3" style="padding:0 1pt"/><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</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;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%">2021</span></td><td colspan="3" style="padding:0 1pt"/><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%">2020</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 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%">9,891&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">8,277&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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,024&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,638&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 commissions</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,191&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,995&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,169&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,921&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 payroll taxes and other</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,229&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,057&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">&#160;&#160;&#160;&#160;Total accrued employee expenses&#8212;current</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;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-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%">27,504&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;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-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%">18,888&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/></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 employee expenses&#8212;noncurrent</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">968&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">The Company has adopted several long-term executive cash incentive plans (the &#8220;Plan(s)&#8221;), which are designed to reward certain executives, including certain of our named executive officers, for their contributions toward our long-term strategic objectives (the &#8220;Performance Conditions&#8221;), which vary by Plan. We are required to estimate the probable payout under the Plans based on management&#8217;s judgment using, among other things, an internally developed rolling three year plan (the &#8220;Three Year Plan&#8221;). Compensation costs are recorded on a straight-line basis over the relevant service period to the extent we believe it is probable the Performance Conditions in an applicable Plan will be achieved over the course of such performance period. Adjustments to projected compensation costs are recognized on a prospective basis over the remaining service period based on changes in our estimate of the probability of achieving the various Performance Conditions. </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%">During the three months ended March 31, 2021, the Board of Directors approved the 2021 Three Year Plan, which allowed us to assess the probability of achieving the Performance Conditions under the Plans through December 31, 2023. During the three months ended June 30, 2021, the Company re-assessed the probability of achieving the Performance Conditions under the Plans. Based on that updated assessment, we recorded $0.5&#160;million and $1.0&#160;million 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%">Accrued employee expenses-current</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Accrued employee expenses-noncurrent</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, respectively, in the Condensed Consolidated Balance Sheet related to the Plans. There are Plans for which no accrual has been recorded as it was determined that it is not currently probable that the related Performance Conditions will be achieved. Amounts recorded under the Plans are based on assumptions and estimates subject to uncertainties and may fluctuate significantly each reporting period.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationRelatedCostsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationRelatedCostsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationRelatedCostsGeneralTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 710<br> -URI http://asc.fasb.org/topic&amp;trid=2127225<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 710<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6409950&amp;loc=d3e20396-108366<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationRelatedCostsGeneralTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674650892536">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">Leases</a></td>
<td class="text">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:id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RleHRyZWdpb246M2I3MTQ3NmVhZWIyNDFlY2JjZjQ2NDI4OTkyYTY0ZjBfOTg_4c29c6f1-62ae-4f47-8c0d-6b3cfa00e05b">one</span> to eleven 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. We have lease agreements with lease and non-lease components, which we have elected to combine for all asset classes. Certain leases contain provisions for property-related costs that are variable in nature for which the Company is 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 style="width:41.443%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.795%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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 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:0 1pt"/><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%">2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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%">2020</span></td><td colspan="3" style="padding:0 1pt"/><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%">2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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%">2020</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,202&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,412&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,297&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,848&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">394&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">399&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">700&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">792&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">&#160;&#160;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,596&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,811&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">2,997&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,640&#160;</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"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></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 as of June&#160;30, 2021 and December&#160;31, 2020 (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 style="width:70.391%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.791%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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/>2021</span></td><td colspan="3" style="padding:0 1pt"/><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/>2020</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></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%">Prepaid expenses and other current 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%">6,599&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">3,972&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 right-of-use assets</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%">40,983&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">30,561&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></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%">Liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></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%"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfNi0wLTEtMS0w_58f37670-ee5b-48fa-adbf-a9b8ba85689b"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfNi0wLTEtMS0w_80e2d195-6079-4671-9e00-2846107801df">Other current liabilities</span></span></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%">1,561&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">1,845&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 liabilities</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%">53,936&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">40,146&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 lease liabilities</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%">55,497&#160;</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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">41,991&#160;</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"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="text-align:center"><span><br/></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&#160;30, 2021 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 style="width:84.990%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.810%"/><td style="width:0.1%"/></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"/></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%">2021</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%">(4,645)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">2022</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%">4,022&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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,850&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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,814&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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,481&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">46,783&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">63,305&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">(14,407)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:11.25pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</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">(2)</span></div></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%">48,898&#160;</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"/></tr></table></div><div style="text-align:justify;text-indent:36pt"><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, 2021, 2022, 2023, and 2024 are presented net of tenant improvement allowances of $6.9&#160;million, $0.6&#160;million, $0.8&#160;million, and $0.2&#160;million, respectively.</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:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(2) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total future minimum lease payments include the current portion of lease liabilities recorded 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%"> of $6.6&#160;million on our Condensed Consolidated Balance Sheets, which relates to certain of our leases for which the lease incentives to be received exceed the minimum lease payments to be paid over the next 12 months.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -URI http://asc.fasb.org/subtopic&amp;trid=77888251<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674650915976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text">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 to provide our customers with the option to purchase legal liability to landlord insurance. If our customers choose to use this insurance service, they are issued an insurance policy underwritten by our third-party service provider. The policy has a limit of $100&#160;thousand per incident for each insured residence. We have entered into a reinsurance agreement with our third-party service provider and, as a result, we assume a 100% quota share of the legal liability to landlord insurance provided to our customers through 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 liability for reported claims and incurred but not reported claims as of June&#160;30, 2021 and December&#160;31, 2020 was $1.5 million and $1.5 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&#160;30, 2021 and December&#160;31, 2020 are $1.8 million and $2.7 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%">There have been no changes in the Company&#8217;s material legal proceedings during the three months ended June 30, 2021. </span></div>IndemnificationIn the ordinary course of business, we may provide indemnification of varying scope and terms to customers, investors, directors and officers with respect to certain matters, including, but not limited to, losses arising out of our breach of any applicable agreements, services to be provided by us, or intellectual property infringement claims made by third parties. 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 never paid a material claim, nor have any legal claims been brought against us, in connection with these indemnification arrangements. As of June&#160;30, 2021 and December&#160;31, 2020, we have not accrued a liability for these indemnification arrangements because we determined that the likelihood of incurring a payment obligation, if any, in connection with these indemnification arrangements is not probable or reasonably possible and the amount or range of amounts of any such liability is not reasonably estimable.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI http://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI http://asc.fasb.org/topic&amp;trid=2144648<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 440<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6491277&amp;loc=d3e6429-115629<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674650977528">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Share Repurchase Program<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock', window );">Share Repurchase Program</a></td>
<td class="text">Share Repurchase Program <div style="margin-bottom:6pt;margin-top:6pt;text-align:justify;text-indent:36pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 20, 2019, our Board of Directors authorized a $100.0 million share repurchase program (the "Share Repurchase Program") relating to our outstanding shares of Class A common stock. Under the Share Repurchase Program, share repurchases may be made from time to time, as directed by a committee consisting of three directors, in open market purchases or privately negotiated transactions at a repurchase price that the members of the committee unanimously believe is below intrinsic value conservatively determined. The Share Repurchase Program does not obligate us to repurchase any specific dollar amount or number of shares, and there is no expiration date for the Share Repurchase Program, which</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> may be modified, suspended or terminated at any time and for any reason. </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%">During the three months ended March 31, 2020, we repurchased a total of 48,002 shares of our Class A common stock through open market repurchases, and recorded a $4.2 million reduction to stockholders' equity, which includes broker commissions. We have not made any repurchases under the Share Repurc</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">hase </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Program subsequent to the three months ended March 31, 2020.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496171-112644<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496171-112644<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496189-112644<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -URI http://asc.fasb.org/topic&amp;trid=2208762<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496189-112644<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496171-112644<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496189-112644<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 16<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496180-112644<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674650661368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">Stock-Based Compensation</a></td>
<td class="text">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&#160;30, 2021, 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 style="width:51.092%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.104%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.104%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.110%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><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&#160;of<br/>Shares</span></td><td colspan="3" style="padding:0 1pt"/><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&#160;per&#160;Share</span></td><td colspan="3" style="padding:0 1pt"/><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&#160;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&#160;31, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,168&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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.77&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">Options granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></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 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%">(120)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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.37&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></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 cancelled/forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></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 June 30, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,048&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">12.50&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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.2</span></td></tr></table></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%">Our stock-based compensation expense for stock options for the three and six months ended June&#160;30, 2021 and 2020 was not material. </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 value of stock options is estimated on their date of grant using the Black-Scholes option-pricing model. No stock options were granted during the six months ended June&#160;30, 2021 or 2020. </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&#160;30, 2021, 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 style="width:67.028%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.104%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.108%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><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&#160;of Shares</span></td><td colspan="3" style="padding:0 1pt"/><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&#160;Date Fair&#160;Value&#160;per&#160;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, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">483&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">80.20&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">194&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">140.30&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">(158)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">60.18&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">(21)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">105.98&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">498&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">108.77&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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&#160;30, 2021, we granted 159,000 RSUs that are subject to time-based vesting in equal annual installments over four years, and 35,000 PSUs that are subject to vesting based on the achievement of pre-established consolidated net revenue growth targets for the years ending December 31, 2022 and 2023, assuming continued employment throughout the performance period. The number of PSUs granted, as included in the above table, assumes achievement of the performance metric at 100% of the performance target. 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:3pt;text-align:justify;text-indent:36pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the six months ended June&#160;30, 2021, 50,000 PSUs vested based on the achievement of 106% of the pre-established consolidated net revenue growth performance target for the year ended December 31, 2020 and additional performance-based cash bonuses equal to 12% of the target value of such vested PSUs were also paid. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Included in the unvested RSUs as of June&#160;30, 2021 are 34,000, 12,000, 31,000 and 35,000 PSUs granted in 2021, 2020, 2019 and 2018, respectively. Of these PSUs, 45,000 are subject to vesting based on the achievement of a pre-established consolidated net revenue growth target for the year ending December 31, 2021, 39,000 are subject to vesting based on the achievement of a pre-established consolidated net revenue growth target for the year ending December 31, 2022, and 28,000 are subject to vesting based on the achievement of a pre-established consolidated net revenue growth target for the year ending December 31, 2023. The number of PSUs granted assumes achievement of the performance metric at 100% of the performance target. 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: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 recognize expense for PSUs based on the grant date fair value of the PSUs that we determine are probable of vesting. Adjustments to compensation expense are made each period based on changes in our estimate of the number of PSUs that are probable of vesting. Our stock-based compensation expense for RSUs and PSUs for the three months ended June&#160;30, 2021 and 2020 was</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> $3.7 million a</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">nd $3.2 million, respectively, and </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$6.8 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and $4.4 million for the six months ended June&#160;30, 2021 and 2020, 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-weight:400;line-height:120%">During the six months ended June&#160;30, 2021, we granted an award of 7,688 PSUs to an executive that vest based on achievement of certain pre-established individual performance metrics during fiscal year 2021, for which the achievement is approved on a pass/fail basis by the Board of Directors in its sole discretion after taking into account the recommendation of the President and Chief Executive Officer. The service inception date precedes the grant date for this award as (a) the award was authorized prior to establishing an accounting grant date, (b) the recipient began providing services prior to the grant date and (c) there are performance conditions that, if not met by the accounting grant date, will result in the forfeiture of the award. As the service inception date precedes the grant date, we recognize stock-based compensation expense on a straight-line basis over the requisite service period based on the fair value at each reporting date. Our stock-based compensation expense for this award for the six months ended June&#160;30, 2021 was</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> $0.5&#160;million. </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&#160;30, 2021, the total estimated remaining stock-based compensation expense for the aforementioned RSUs and PSUs was </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$39.4 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, which is expected to be recognized over a weighted average period of</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> 2.6 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 for the six months ended June&#160;30, 2021 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%">&#160;</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 style="width:67.028%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.104%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.108%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><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&#160;of<br/>Shares</span></td><td colspan="3" style="padding:0 1pt"/><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&#160;Date<br/>Fair&#160;Value&#160;per&#160;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, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">5&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">153.41&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">144.33&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">160.34&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">6&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">143.74&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 restricted stock awards subject to certain conditions. Restricted stock awards vest over a one-year period. We recognized stock-based compensation expense for restricted stock awards of </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$0.2 million and $0.2 million for the three months ended June&#160;30, 2021 and 2020, respectively, and $0.3 million and $0.3 million for </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the six months ended June&#160;30, 2021 and 2020, 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-weight:400;line-height:120%">As of June&#160;30, 2021, the total estimated remaining stock-based compensation expense for unvested restricted stock awards with a repurchase right was </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$0.7 million, which is expected to be recognized over a weighted average period of 0.9 years.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI http://asc.fasb.org/topic&amp;trid=2228938<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674743827288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text">Income Taxes<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 calculate our benefit from income taxes on a quarterly basis by applying an estimated annual effective tax rate to income from operations and by calculating the tax effect of discrete items recognized during the quarter. </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:115%">For the three and six months ended June&#160;30, 2021, we recorded an income tax benefit of $0.3 million and $5.9 million, respectively. The effective tax rate as compared to the U.S. federal statutory rate of 21% differs primarily due to the significance of the benefits associated with stock-based compensation expense and research and development tax credits in relation to the forecasted pre-tax results for the year. </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:115%">For the three and six months ended June&#160;30, 2020, we recorded income tax benefit of $13.5 million and $13.1 million, respectively. The effective tax rate as compared to the U.S. federal statutory rate of 21% differs primarily due to the significance of the benefits associated with stock-based compensation expense and research and development tax credits in relation to the forecasted pre-tax results for the year.</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&#160;30, 2021 and we do not expect to have any significant changes to unrecognized tax benefits through the end of the fiscal year.</span></div>As of June 30, 2021, we have approximately $4.7&#160;million of net deferred tax assets. At this time, we consider it more likely than not that we will have sufficient taxable income in the future that will allow us to realize these deferred tax assets. However, it is possible that in certain jurisdictions some or all of our net operating loss carryforwards and research tax credits may expire unused if we are unable to sustain a certain level of future profitability in those jurisdictions, in which event a valuation allowance may be necessary to reduce our deferred tax assets.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32857-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330215-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32705-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 270<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6424409&amp;loc=d3e44925-109338<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI http://asc.fasb.org/topic&amp;trid=2144680<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674650685144">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue and Other Information<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment Reporting [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Revenue and Other Information</a></td>
<td class="text">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&#160;30, 2021 and 2020 (in thousands):</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</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 style="width:51.239%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.015%"/><td style="width:0.1%"/></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%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><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 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%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><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%">2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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%">2020</span></td><td colspan="3" style="padding:0 1pt"/><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%">2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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%">2020</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 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%">25,363&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">26,061&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">49,537&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">50,963&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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+ services</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">60,447&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">51,592&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">111,957&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">95,730&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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,230&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,390&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,467&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,845&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">89,040&#160;</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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">81,043&#160;</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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">167,961&#160;</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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">153,538&#160;</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"/></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%">During the six months ended June&#160;30, 2021 and 2020, we recognized $1.8 million and $3.5 million of revenue, respectively, which were included in the deferred revenue balances as of December&#160;31, 2020 and 2019, respectively.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI http://asc.fasb.org/topic&amp;trid=49130388<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130551-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130556-203045<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130554-203045<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130550-203045<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130554-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130554-203045<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130554-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130558-203045<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130554-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674653037832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock', window );">Basis of Presentation and Significant Accounting Policies</a></td>
<td class="text">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 (&#8220;GAAP&#8221;) 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 March 1, 2021. 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.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PriorPeriodReclassificationAdjustmentDescription', window );">Reclassifications</a></td>
<td class="text">ReclassificationsWe reclassified certain amounts in our Condensed Consolidated Statements of Cash Flows within the cash from operating activities section in the prior year to conform to the current year's presentation.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of Estimates</a></td>
<td class="text"><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 assets and liabilities assumed in business combinations, fair value of financial instruments, capitalized software 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 valuation and assumptions underlying stock-based compensation and other equity instruments. </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%">In light of the unknown duration and severity of COVID-19, we face a greater degree of uncertainty than normal in making the judgments and estimates needed to apply our significant accounting policies. We assessed certain accounting matters that generally require consideration of forecasted financial information in context with the information reasonably available to us and the unknown future impacts of COVID-19 as of June&#160;30, 2021 and through the date of this report. The accounting matters assessed included, but were not limited to, our allowance for credit losses, the carrying value of goodwill and other long-lived assets, performance-based compensation and income taxes.</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 the date of our Condensed Consolidated Financial Statements, we are not aware of any specific event or circumstance that would require us to update our estimates or judgments or to revise the carrying value of our assets or liabilities. However, these estimates and judgments may change as new events occur and additional information is obtained, which may result in changes being recognized in our consolidated financial statements in future periods. While we considered the effects of COVID-19 in our estimates and assumptions, due to the level of uncertainty regarding the economic and operational impacts of COVID-19 on our business, there may be other judgments and assumptions that we have not considered. Such judgments and assumptions could result in a meaningful impact on our financial statements in future periods. Actual results could differ from those estimates and any such differences may have a material impact on our Condensed Consolidated Financial Statements.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Net Income per Common Share</a></td>
<td class="text">Net Income per Common ShareNet income 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.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recent Accounting Pronouncements Adopted in 2020 and 2021</a></td>
<td class="text"><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 in 2020</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%">In June 2016, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") No. 2016-13,&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">("ASU 2016-13"), which amends the current accounting guidance and requires the measurement of all expected losses based on historical experience, current conditions and reasonable and supportable forecasts. This guidance amends the accounting for credit losses for available-for-sale investment securities and purchased financial assets with credit deterioration. We adopted ASU 2016-13 on January 1, 2020. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures. </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%">In August 2018, the FASB issued ASU No. 2018-15,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#160;Intangibles&#8212;Goodwill and Other&#8212;Internal-Use Software (Subtopic 350-40): Customer&#8217;s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">("ASU 2018-15"), a series of amendments which align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal use software license). The accounting for the service element of a hosting arrangement that is a service contract is not affected by these amendments. We adopted ASU 2018-15 on January 1, 2020. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures.</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 in 2021</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 December 2019, the FASB issued ASU No. 2019-12,&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">("ASU 2019-12").&#160;This amendment was issued to simplify the accounting for income taxes by removing certain exceptions for recognizing deferred taxes, performing intraperiod allocation, and calculating income taxes in interim periods. Further, ASU 2019-12 adds guidance to reduce complexity in certain areas, including recognizing deferred taxes for tax basis goodwill and allocating taxes to members of a consolidated group. This guidance also requires an entity to reflect the effect of an enacted change in tax laws or rates in its effective income tax rate in the first interim period that includes the enactment date of the new legislation, aligning the timing of recognition of the effects from enacted tax law changes on the effective income tax rate with the effects on deferred income tax assets and liabilities. Under existing guidance, an entity recognizes the effects of the enacted tax law change on the effective income tax rate in the period that includes the effective date of the tax law. We adopted ASU 2019-12 on January 1, 2021. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfAccountingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PriorPeriodReclassificationAdjustmentDescription">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124429488&amp;loc=d3e326-107755<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PriorPeriodReclassificationAdjustmentDescription</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6191-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6161-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6143-108592<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6061-108592<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6132-108592<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674652211576">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock', window );">Schedule of Weighted Average Number of Shares</a></td>
<td class="text">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 income per common share (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 style="width:59.426%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.110%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.110%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.818%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.823%"/><td style="width:0.1%"/></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%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><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 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%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><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%">2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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%">2020</span></td><td colspan="3" style="padding:0 1pt"/><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%">2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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%">2020</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 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,553&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,259&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,484&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,219&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,548&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,254&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,479&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,214&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">Plus:  Weighted average options, restricted stock units and restricted shares used to compute diluted net income per common share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:3pt double #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,126&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:3pt double #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,360&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:3pt double #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,218&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:3pt double #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,433&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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; diluted</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,674&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,614&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,697&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,647&#160;</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"/></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674649546152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Investment Securities and Fair Value Measurements (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock', window );">Schedule of Available-for-sale Securities</a></td>
<td class="text"><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&#160;30, 2021 and December&#160;31, 2020&#160;(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 style="width:43.535%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.515%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.515%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.515%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.208%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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, 2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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 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 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 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%">49,442&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">4&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">(7)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">49,439&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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,842&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,848&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">53,225&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">18&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">53,232&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">114,509&#160;</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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">35&#160;</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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">(25)</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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,519&#160;</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"/></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 style="width:43.535%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.515%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.515%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.515%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.208%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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, 2020</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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 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 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 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%">Agency securities</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,104&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">29&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,132&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">17,847&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">47&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,894&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">34,951&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">76&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">(1)</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,026&#160;</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"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock', window );">Available-for-sale Investments, by Remaining Contract Maturity</a></td>
<td class="text">The fair values of available-for-sale investment securities, by remaining contractual maturity, are 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 style="width:43.490%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.208%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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, 2021</span></td><td colspan="3" style="padding:0 1pt"/><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, 2020</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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 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 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 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%">102,950&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">102,978&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">28,197&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">28,256&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">11,559&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,541&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,754&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,770&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">114,509&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,519&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">34,951&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,026&#160;</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"/></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfRealizedGainLossTableTextBlock', window );">Schedule of Sales, Calls, and Maturities</a></td>
<td class="text"><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&#160;30, 2021 and 2020, we had sales and maturities (which include calls) 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 style="width:43.490%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.208%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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, 2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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 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 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 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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">Agency securities</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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,250&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">42,198&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">21,500&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">6&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">42,198&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,750&#160;</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"/></tr></table></div><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 style="width:42.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.369%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.369%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.369%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.374%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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, 2020</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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 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 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 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%">5&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">4,006&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">4,000&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">24&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,878&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,250&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,058&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,500&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">33&#160;</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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">13,942&#160;</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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">7,750&#160;</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"/></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock', window );">Fair Value, Assets Measured on Recurring Basis</a></td>
<td class="text">The following tables summarize our financial assets measured at fair value on a recurring basis as of June&#160;30, 2021 and December&#160;31, 2020 by level within the fair value hierarchy (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:99.707%"><tr><td style="width:1.0%"/><td style="width:42.741%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.389%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.389%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.389%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.393%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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, 2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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&#160;1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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&#160;2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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&#160;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></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,030&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,030&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">9,500&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,500&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;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%">Commercial paper</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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">3,000&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">3,000&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">Available-for-sale investment securities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></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%">Corporate bonds</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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">49,439&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">49,439&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">Agency 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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,848&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,848&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">&#160;&#160;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%">53,232&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">53,232&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 #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%">67,762&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">64,287&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">132,049&#160;</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"/></tr></table></div><div style="margin-top:12pt"><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 style="width:42.741%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.389%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.389%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.389%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.393%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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, 2020</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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 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&#160;2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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&#160;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></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%">4,749&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">4,749&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">97,433&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">97,433&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">Agency 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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,132&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,132&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">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%">17,894&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,894&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 #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%">120,076&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">17,132&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">137,208&#160;</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"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of maturities of an entity's investments as well as any other information pertinent to the investments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation of available-for-sale securities from cost basis to fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRealizedGainLossTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123581744&amp;loc=d3e27357-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRealizedGainLossTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674652511096">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Capitalized Software Development Cost, net (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentAbstract', window );"><strong>Research and Development [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock', window );">Schedule of Capitalized Computer Software</a></td>
<td class="text"><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:99.853%"><tr><td style="width:1.0%"/><td style="width:70.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.223%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.225%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><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/>2021</span></td><td colspan="3" style="padding:0 1pt"/><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/>2020</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 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,042&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,974&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">(71,817)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">(61,515)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">39,225&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,459&#160;</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"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock', window );">Schedule of Capitalized Computer Software Future Amortization Expense</a></td>
<td class="text"><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 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 style="width:84.864%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.206%"/><td style="width:0.1%"/></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%">2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">10,545&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,432&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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,357&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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,891&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">&#160;&#160;&#160;&#160;Total amortization expense</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">39,225&#160;</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"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Schedule of Capitalized Computer Software, Future Amortization Expense [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Schedule Of Capitalized Computer Software [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674652489464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets, net (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of Finite-Lived Intangible Assets</a></td>
<td class="text"><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 style="width:37.992%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.394%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.394%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.394%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.398%"/><td style="width:0.1%"/></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%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><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, 2021</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%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><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&#160;Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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 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&#160;Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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&#160;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 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,840&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,778)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,062&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 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,330&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,203)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,127&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 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&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,391)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,148&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 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,890&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">(930)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">960&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 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&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 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,400&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">(3,704)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">3,696&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 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&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">(73)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 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&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">(245)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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 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%">28,021&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">(14,004)</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">14,017&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">6.3</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:99.707%"><tr><td style="width:1.0%"/><td style="width:38.196%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.416%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.122%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.416%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.418%"/><td style="width:0.1%"/></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%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><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, 2020</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%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><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&#160;Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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 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&#160;Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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&#160;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 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,840&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,550)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,290&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 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,330&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,787)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,543&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 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&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,641)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,898&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 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,890&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">(732)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,158&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 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&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 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,400&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,964)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,436&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 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&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">(70)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">20&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 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&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">(240)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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 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%">28,021&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">(11,664)</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">16,357&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">6.3</span></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense</a></td>
<td class="text">Future amortization expense with respect to intangible assets 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 style="width:85.449%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.621%"/><td style="width:0.1%"/></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%">2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">2,306&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,605&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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,060&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">835&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">833&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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,378&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">&#160;&#160;&#160;&#160;Total amortization expense</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">14,017&#160;</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"/></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674650720312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued Employee Expenses (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CompensationRelatedCostsAbstract', window );"><strong>Compensation Related Costs [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock', window );">Schedule of Accrued Employee Expenses</a></td>
<td class="text"><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;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 style="width:69.806%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.792%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><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,</span></td><td colspan="3" style="padding:0 1pt"/><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</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;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%">2021</span></td><td colspan="3" style="padding:0 1pt"/><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%">2020</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 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%">9,891&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">8,277&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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,024&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,638&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 commissions</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,191&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,995&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,169&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,921&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 payroll taxes and other</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,229&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,057&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">&#160;&#160;&#160;&#160;Total accrued employee expenses&#8212;current</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;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-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%">27,504&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;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-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%">18,888&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/></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 employee expenses&#8212;noncurrent</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">968&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Schedule of Accrued Employee Expenses</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationRelatedCostsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationRelatedCostsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674652432120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseCostTableTextBlock', window );">Schedule of Components of Lease Expense</a></td>
<td class="text"><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 style="width:41.443%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.795%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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 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:0 1pt"/><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%">2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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%">2020</span></td><td colspan="3" style="padding:0 1pt"/><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%">2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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%">2020</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,202&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,412&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,297&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,848&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">394&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">399&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">700&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">792&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">&#160;&#160;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,596&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,811&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">2,997&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,640&#160;</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"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></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 as of June&#160;30, 2021 and December&#160;31, 2020 (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 style="width:70.391%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.791%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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/>2021</span></td><td colspan="3" style="padding:0 1pt"/><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/>2020</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></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%">Prepaid expenses and other current 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%">6,599&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">3,972&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 right-of-use assets</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%">40,983&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">30,561&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></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%">Liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></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%"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfNi0wLTEtMS0w_58f37670-ee5b-48fa-adbf-a9b8ba85689b"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjMzZDJlZTFhODEzMjQwNzdiZTQ5NThlNmNlZTI5YjNkL3NlYzozM2QyZWUxYTgxMzI0MDc3YmU0OTU4ZTZjZWUyOWIzZF81NS9mcmFnOjNiNzE0NzZlYWViMjQxZWNiY2Y0NjQyODk5MmE2NGYwL3RhYmxlOjliM2QyNGMzMmVmMDQxMzg4ZGI1Zjc5N2E2ZjgwZGFiL3RhYmxlcmFuZ2U6OWIzZDI0YzMyZWYwNDEzODhkYjVmNzk3YTZmODBkYWJfNi0wLTEtMS0w_80e2d195-6079-4671-9e00-2846107801df">Other current liabilities</span></span></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%">1,561&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">1,845&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 liabilities</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%">53,936&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">40,146&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 lease liabilities</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%">55,497&#160;</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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">41,991&#160;</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"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Schedule of Minimum Lease Payments Under Leases</a></td>
<td class="text"><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&#160;30, 2021 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 style="width:84.990%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.810%"/><td style="width:0.1%"/></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"/></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%">2021</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%">(4,645)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">2022</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%">4,022&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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,850&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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,814&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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,481&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">46,783&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">63,305&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">(14,407)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:11.25pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</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">(2)</span></div></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%">48,898&#160;</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"/></tr></table></div><div style="text-align:justify;text-indent:36pt"><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, 2021, 2022, 2023, and 2024 are presented net of tenant improvement allowances of $6.9&#160;million, $0.6&#160;million, $0.8&#160;million, and $0.2&#160;million, respectively.</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:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(2) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total future minimum lease payments include the current portion of lease liabilities recorded 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%"> of $6.6&#160;million on our Condensed Consolidated Balance Sheets, which relates to certain of our leases for which the lease incentives to be received exceed the minimum lease payments to be paid over the next 12 months.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCostTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674658894936">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Summary of Stock Option Activity</a></td>
<td class="text"><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&#160;30, 2021, 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 style="width:51.092%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.104%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.104%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.110%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><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&#160;of<br/>Shares</span></td><td colspan="3" style="padding:0 1pt"/><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&#160;per&#160;Share</span></td><td colspan="3" style="padding:0 1pt"/><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&#160;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&#160;31, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,168&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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.77&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">Options granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></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 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%">(120)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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.37&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></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 cancelled/forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></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 June 30, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,048&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">12.50&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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.2</span></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock', window );">Schedule of Restricted Stock Units Activity</a></td>
<td class="text"><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&#160;30, 2021, 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 style="width:67.028%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.104%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.108%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><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&#160;of Shares</span></td><td colspan="3" style="padding:0 1pt"/><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&#160;Date Fair&#160;Value&#160;per&#160;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, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">483&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">80.20&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">194&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">140.30&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">(158)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">60.18&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">(21)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">105.98&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">498&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">108.77&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock', window );">Schedule of Restricted Stock Awards Activity</a></td>
<td class="text"><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 for the six months ended June&#160;30, 2021 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%">&#160;</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 style="width:67.028%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.104%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.108%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><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&#160;of<br/>Shares</span></td><td colspan="3" style="padding:0 1pt"/><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&#160;Date<br/>Fair&#160;Value&#160;per&#160;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, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">5&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">153.41&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">144.33&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">160.34&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">6&#160;</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">143.74&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the changes in outstanding nonvested restricted stock shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the changes in outstanding nonvested restricted stock units.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674650721784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue and Other Information (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment Reporting [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueTableTextBlock', window );">Schedule of Product Information by Revenue Categories</a></td>
<td class="text"><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&#160;30, 2021 and 2020 (in thousands):</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</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 style="width:51.239%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.015%"/><td style="width:0.1%"/></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%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><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 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%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><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%">2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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%">2020</span></td><td colspan="3" style="padding:0 1pt"/><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%">2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><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%">2020</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 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%">25,363&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">26,061&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">49,537&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">50,963&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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+ services</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">60,447&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">51,592&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">111,957&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">95,730&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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,230&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,390&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,467&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,845&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">89,040&#160;</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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">81,043&#160;</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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">167,961&#160;</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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">153,538&#160;</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"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674658450328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Net Income per Share Schedule of Weighted Average Number of Shares (Details) - shares<br> shares in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesIssuedBasic', window );">Weighted average common shares outstanding (in shares)</a></td>
<td class="nump">34,553<span></span>
</td>
<td class="nump">34,259<span></span>
</td>
<td class="nump">34,484<span></span>
</td>
<td class="nump">34,219<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesRestrictedStock', window );">Less: Weighted average unvested restricted shares subject to repurchase (in shares)</a></td>
<td class="nump">5<span></span>
</td>
<td class="nump">5<span></span>
</td>
<td class="nump">5<span></span>
</td>
<td class="nump">5<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average common shares outstanding; basic (in shares)</a></td>
<td class="nump">34,548<span></span>
</td>
<td class="nump">34,254<span></span>
</td>
<td class="nump">34,479<span></span>
</td>
<td class="nump">34,214<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Plus: Weighted average options, restricted stock units and restricted shares used to compute diluted net income per common share (in shares)</a></td>
<td class="nump">1,126<span></span>
</td>
<td class="nump">1,360<span></span>
</td>
<td class="nump">1,218<span></span>
</td>
<td class="nump">1,433<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted average common shares outstanding; diluted (in shares)</a></td>
<td class="nump">35,674<span></span>
</td>
<td class="nump">35,614<span></span>
</td>
<td class="nump">35,697<span></span>
</td>
<td class="nump">35,647<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_PerformanceSharesMember', window );">PSUs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Shares excluded from net loss per share computation (in shares)</a></td>
<td class="nump">120<span></span>
</td>
<td class="nump">146<span></span>
</td>
<td class="nump">120<span></span>
</td>
<td class="nump">146<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1707-109256<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28A<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1500-109256<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1757-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesIssuedBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1448-109256<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e2646-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesIssuedBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesRestrictedStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e2646-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesRestrictedStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_PerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_PerformanceSharesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674653895416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Divestitures - Narrative (Details) - Discontinued Operations, Disposed of by Sale - MyCase - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration', window );">Consideration for disposal of subsidiary</a></td>
<td class="nump">$ 193.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries', window );">Proceeds from divestiture of subsidiary</a></td>
<td class="nump">192.2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1', window );">Employee retention bonus pool</a></td>
<td class="nump">2.2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashDivestedFromDeconsolidation', window );">Cash divested</a></td>
<td class="nump">0.8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment', window );">Working capital adjustment</a></td>
<td class="nump">$ 0.6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod', window );">Retention period</a></td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax', window );">Gain on sale of subsidiary</a></td>
<td class="nump">$ 188.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation', window );">Assets divested</a></td>
<td class="nump">4.6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_NoncashOrPartNoncashDivestitureAdjustmentToConsideration', window );">Adjustment to the employee retention bonus pool</a></td>
<td class="nump">0.4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware', window );">Capitalized software divested</a></td>
<td class="nump">3.9<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue', window );">Deferred revenue divested</a></td>
<td class="nump">2.8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1', window );">Goodwill divested</a></td>
<td class="nump">$ 2.3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome', window );">Income received</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.3<span></span>
</td>
<td class="nump">$ 0.7<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disposal Group, Including Discontinued Operation, Capitalized Software</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disposal Group, Including Discontinued Operation, Retention Period</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disposal Group, Including Discontinued Operation, Working Capital Adjustment</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_NoncashOrPartNoncashDivestitureAdjustmentToConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Noncash or Part Noncash Divestiture, Adjustment to Consideration</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_NoncashOrPartNoncashDivestitureAdjustmentToConsideration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount classified as assets attributable to disposal group held for sale or disposed of.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e1107-107759<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=d3e2941-110230<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721673-107760<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721533-107759<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721675-107760<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashDivestedFromDeconsolidation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Reduction in cash due to no longer including the former subsidiary's cash in the consolidated entity's cash.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashDivestedFromDeconsolidation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of gain (loss) not previously recognized resulting from the disposal of a discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=d3e1361-107760<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e957-107759<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3B<br> -URI http://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721525-107759<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration received or receivable for the disposal of assets and liabilities, including discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount classified as deferred revenue attributable to disposal group held for sale or disposed of.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721533-107759<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e1107-107759<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721673-107760<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=d3e2941-110230<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount classified as goodwill attributable to disposal group held for sale or disposed of.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721533-107759<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=d3e2941-110230<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e1107-107759<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721673-107760<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of other income attributable to disposal group, including, but not limited to, discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721673-107760<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash consideration received for selling an asset or business through a noncash (or part noncash) transaction.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4304-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4332-108586<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4313-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the deconsolidation of a previously consolidated subsidiary or the sale of investment in consolidated subsidiaries (generally greater than 50 percent).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=appf_MyCaseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=appf_MyCaseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674654466072">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Investment Securities and Fair Value Measurements - Schedule of Available-for-sale Securities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Total available-for-sale investment securities</a></td>
<td class="nump">$ 114,509<span></span>
</td>
<td class="nump">$ 34,951<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="nump">35<span></span>
</td>
<td class="nump">76<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="num">(25)<span></span>
</td>
<td class="num">(1)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Estimated Fair Value</a></td>
<td class="nump">114,519<span></span>
</td>
<td class="nump">35,026<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Total available-for-sale investment securities</a></td>
<td class="nump">49,442<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="nump">4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="num">(7)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Estimated Fair Value</a></td>
<td class="nump">49,439<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_AgencySecuritiesMember', window );">Agency securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Total available-for-sale investment securities</a></td>
<td class="nump">11,842<span></span>
</td>
<td class="nump">17,104<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="nump">13<span></span>
</td>
<td class="nump">29<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="num">(7)<span></span>
</td>
<td class="num">(1)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Estimated Fair Value</a></td>
<td class="nump">11,848<span></span>
</td>
<td class="nump">17,132<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Total available-for-sale investment securities</a></td>
<td class="nump">53,225<span></span>
</td>
<td class="nump">17,847<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="nump">18<span></span>
</td>
<td class="nump">47<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="num">(11)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Estimated Fair Value</a></td>
<td class="nump">$ 53,232<span></span>
</td>
<td class="nump">$ 17,894<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123581744&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123581744&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123581744&amp;loc=d3e27161-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(6))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26610-111562<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -URI http://asc.fasb.org/extlink&amp;oid=123581744&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_AgencySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_AgencySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674652398872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Investment Securities and Fair Value Measurements - Narrative (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss', window );">Allowance for credit losses for available-for-sale investment securities</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_AvailableForSaleSecuritiesMaximumContractualMaturity', window );">Maximum contractual maturity period</a></td>
<td class="text">36 months<span></span>
</td>
<td class="text">36 months<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_AvailableForSaleSecuritiesMaximumContractualMaturity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Available-For-Sale Securities, Maximum Contractual Maturity</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_AvailableForSaleSecuritiesMaximumContractualMaturity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount 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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124269663&amp;loc=SL82922900-210455<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=124269663&amp;loc=SL82922900-210455<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aaa)<br> -URI http://asc.fasb.org/extlink&amp;oid=123581744&amp;loc=d3e27161-111563<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674654604424">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Investment Securities and Fair Value Measurements - Available-for-sale Investments, by Remaining Contract Maturity (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasisAbstract', window );"><strong>Amortized Cost</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost', window );">Due in one year or less</a></td>
<td class="nump">$ 102,950<span></span>
</td>
<td class="nump">$ 28,197<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost', window );">Due after one year through three years</a></td>
<td class="nump">11,559<span></span>
</td>
<td class="nump">6,754<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Total available-for-sale investment securities</a></td>
<td class="nump">114,509<span></span>
</td>
<td class="nump">34,951<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract', window );"><strong>Estimated Fair Value</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">Due in one year or less</a></td>
<td class="nump">102,978<span></span>
</td>
<td class="nump">28,256<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue', window );">Due after one year through three years</a></td>
<td class="nump">11,541<span></span>
</td>
<td class="nump">6,770<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Total available-for-sale investment securities</a></td>
<td class="nump">$ 114,519<span></span>
</td>
<td class="nump">$ 35,026<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123581744&amp;loc=d3e27161-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123581744&amp;loc=d3e27198-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123581744&amp;loc=d3e27161-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123581744&amp;loc=d3e27198-111563<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 320<br> -Section 50<br> -Paragraph 3A<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123599081&amp;loc=SL120269850-112803<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasisAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasisAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123581744&amp;loc=d3e27198-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 320<br> -Section 50<br> -Paragraph 3A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123599081&amp;loc=SL120269850-112803<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123581744&amp;loc=d3e27198-111563<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123581744&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(6))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26610-111562<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -URI http://asc.fasb.org/extlink&amp;oid=123581744&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674734567896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Investment Securities and Fair Value Measurements - Schedule of Sales, Calls and Maturities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain', window );">Gross Realized Gains</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6<span></span>
</td>
<td class="nump">$ 33<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss', window );">Gross Realized Losses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt', window );">Gross Proceeds from Sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">42,198<span></span>
</td>
<td class="nump">13,942<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities', window );">Gross Proceeds from Maturities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">26,750<span></span>
</td>
<td class="nump">7,750<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InvestmentIncomeInterest', window );">Interest income, net of amortization and accretion of premium and discount</a></td>
<td class="nump">$ 100<span></span>
</td>
<td class="nump">$ 100<span></span>
</td>
<td class="nump">100<span></span>
</td>
<td class="nump">200<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain', window );">Gross Realized Gains</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss', window );">Gross Realized Losses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt', window );">Gross Proceeds from Sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,006<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities', window );">Gross Proceeds from Maturities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_AgencySecuritiesMember', window );">Agency securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain', window );">Gross Realized Gains</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">24<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss', window );">Gross Realized Losses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt', window );">Gross Proceeds from Sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">7,878<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities', window );">Gross Proceeds from Maturities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,250<span></span>
</td>
<td class="nump">1,250<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain', window );">Gross Realized Gains</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6<span></span>
</td>
<td class="nump">4<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss', window );">Gross Realized Losses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt', window );">Gross Proceeds from Sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">42,198<span></span>
</td>
<td class="nump">2,058<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities', window );">Gross Proceeds from Maturities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 21,500<span></span>
</td>
<td class="nump">$ 2,500<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123581744&amp;loc=d3e27357-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleRealizedGain</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123581744&amp;loc=d3e27357-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentIncomeInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentIncomeInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26853-111562<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3151-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26853-111562<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3151-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_AgencySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_AgencySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674735014968">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Investment Securities and Fair Value Measurements - Fair Value, Assets Measured on Recurring Basis (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities</a></td>
<td class="nump">$ 114,519<span></span>
</td>
<td class="nump">$ 35,026<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities</a></td>
<td class="nump">49,439<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_AgencySecuritiesMember', window );">Agency securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities</a></td>
<td class="nump">11,848<span></span>
</td>
<td class="nump">17,132<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities</a></td>
<td class="nump">53,232<span></span>
</td>
<td class="nump">17,894<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring measurements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17,894<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Total</a></td>
<td class="nump">132,049<span></span>
</td>
<td class="nump">137,208<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring measurements | Corporate bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities</a></td>
<td class="nump">49,439<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring measurements | Agency securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities</a></td>
<td class="nump">11,848<span></span>
</td>
<td class="nump">17,132<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring measurements | Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">9,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities</a></td>
<td class="nump">53,232<span></span>
</td>
<td class="nump">97,433<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring measurements | Money market funds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">5,030<span></span>
</td>
<td class="nump">4,749<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring measurements | Commercial paper</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">3,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring measurements | Level&#160;1</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17,894<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Total</a></td>
<td class="nump">67,762<span></span>
</td>
<td class="nump">120,076<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring measurements | Level&#160;1 | Corporate bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring measurements | Level&#160;1 | Agency securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring measurements | Level&#160;1 | Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">9,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities</a></td>
<td class="nump">53,232<span></span>
</td>
<td class="nump">97,433<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring measurements | Level&#160;1 | Money market funds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">5,030<span></span>
</td>
<td class="nump">4,749<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring measurements | Level&#160;1 | Commercial paper</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring measurements | Level&#160;2</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Total</a></td>
<td class="nump">64,287<span></span>
</td>
<td class="nump">17,132<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring measurements | Level&#160;2 | Corporate bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities</a></td>
<td class="nump">49,439<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring measurements | Level&#160;2 | Agency securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities</a></td>
<td class="nump">11,848<span></span>
</td>
<td class="nump">17,132<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring measurements | Level&#160;2 | Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring measurements | Level&#160;2 | Money market funds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring measurements | Level&#160;2 | Commercial paper</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">3,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring measurements | Level 3</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Total</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring measurements | Level 3 | Corporate bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring measurements | Level 3 | Agency securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring measurements | Level 3 | Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring measurements | Level 3 | Money market funds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring measurements | Level 3 | Commercial paper</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(6))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26610-111562<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -URI http://asc.fasb.org/extlink&amp;oid=123581744&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_AgencySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_AgencySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_CommercialPaperMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=us-gaap_CommercialPaperMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674652970776">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Capitalized Software Development Cost, net - Capitalized Computer Software (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentAbstract', window );"><strong>Research and Development [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedComputerSoftwareGross', window );">Capitalized software development costs, gross</a></td>
<td class="nump">$ 111,042<span></span>
</td>
<td class="nump">$ 96,974<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization', window );">Less: Accumulated amortization</a></td>
<td class="num">(71,817)<span></span>
</td>
<td class="num">(61,515)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedComputerSoftwareNet', window );">Capitalized software development costs, net</a></td>
<td class="nump">$ 39,225<span></span>
</td>
<td class="nump">$ 35,459<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For each balance sheet presented, the amount of accumulated amortization for capitalized computer software costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedComputerSoftwareGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated amortization of capitalized costs for computer software, including but not limited to, acquired and internally developed computer software.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedComputerSoftwareGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedComputerSoftwareNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying amount of capitalized computer software costs net of accumulated amortization as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedComputerSoftwareNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674649535432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Capitalized Software Development Cost, net - Narrative (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentAbstract', window );"><strong>Research and Development [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedComputerSoftwareAdditions', window );">Capitalized software development costs</a></td>
<td class="nump">$ 7.0<span></span>
</td>
<td class="nump">$ 7.1<span></span>
</td>
<td class="nump">$ 14.1<span></span>
</td>
<td class="nump">$ 13.8<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedComputerSoftwareAmortization1', window );">Amortization expense</a></td>
<td class="nump">$ 5.3<span></span>
</td>
<td class="nump">$ 4.5<span></span>
</td>
<td class="nump">$ 10.3<span></span>
</td>
<td class="nump">$ 8.7<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedComputerSoftwareAdditions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Additions made to capitalized computer software costs during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedComputerSoftwareAdditions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedComputerSoftwareAmortization1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for amortization of capitalized computer software costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128487-111756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedComputerSoftwareAmortization1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674651002968">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Capitalized Software Development Cost, net - Capitalized Computer Software Future Amortization Expense (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedComputerSoftwareNetAbstract', window );"><strong>Years Ending December 31,</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear', window );">2021</a></td>
<td class="nump">$ 10,545<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne', window );">2022</a></td>
<td class="nump">17,432<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo', window );">2023</a></td>
<td class="nump">9,357<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree', window );">2024</a></td>
<td class="nump">1,891<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedComputerSoftwareNet', window );">Capitalized software development costs, net</a></td>
<td class="nump">$ 39,225<span></span>
</td>
<td class="nump">$ 35,459<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Capitalized Computer Software, Amortization Expense, Remainder of Fiscal Year</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Capitalized Computer Software, Amortization Expense, Year One</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Capitalized Computer Software, Amortization Expense, Year Three</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Capitalized Computer Software, Amortization Expense, Year Two</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedComputerSoftwareNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying amount of capitalized computer software costs net of accumulated amortization as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedComputerSoftwareNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedComputerSoftwareNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedComputerSoftwareNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674735228328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets, net - Schedule of Finite-Lived Intangible Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross&#160;Carrying Value</a></td>
<td class="nump">$ 28,021<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 28,021<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 28,021<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(14,004)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(14,004)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(11,664)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net&#160;Carrying Value</a></td>
<td class="nump">14,017<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,017<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 16,357<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization expense</a></td>
<td class="nump">1,200<span></span>
</td>
<td class="nump">$ 1,200<span></span>
</td>
<td class="nump">$ 2,300<span></span>
</td>
<td class="nump">$ 2,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_WeightedAverageMember', window );">Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">6 years 3 months 18 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">6 years 3 months 18 days<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross&#160;Carrying Value</a></td>
<td class="nump">2,840<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,840<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,840<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(1,778)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,778)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,550)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net&#160;Carrying Value</a></td>
<td class="nump">1,062<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,062<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,290<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer relationships | Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=appf_DatabaseMember', window );">Database</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross&#160;Carrying Value</a></td>
<td class="nump">8,330<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 8,330<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 8,330<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(2,203)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,203)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,787)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net&#160;Carrying Value</a></td>
<td class="nump">6,127<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,127<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,543<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=appf_DatabaseMember', window );">Database | Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=appf_TechnologyMember', window );">Technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross&#160;Carrying Value</a></td>
<td class="nump">6,539<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,539<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,539<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(4,391)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,391)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,641)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net&#160;Carrying Value</a></td>
<td class="nump">2,148<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,148<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,898<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=appf_TechnologyMember', window );">Technology | Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksAndTradeNamesMember', window );">Trademarks and trade names</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross&#160;Carrying Value</a></td>
<td class="nump">1,890<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,890<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,890<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(930)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(930)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(732)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net&#160;Carrying Value</a></td>
<td class="nump">960<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 960<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,158<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksAndTradeNamesMember', window );">Trademarks and trade names | Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=appf_PartnerRelationshipsMember', window );">Partner relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross&#160;Carrying Value</a></td>
<td class="nump">680<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 680<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 680<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(680)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(680)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(680)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net&#160;Carrying Value</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=appf_PartnerRelationshipsMember', window );">Partner relationships | Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Non-compete agreements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross&#160;Carrying Value</a></td>
<td class="nump">7,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7,400<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(3,704)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,704)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,964)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net&#160;Carrying Value</a></td>
<td class="nump">3,696<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,696<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,436<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Non-compete agreements | Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_InternetDomainNamesMember', window );">Domain names</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross&#160;Carrying Value</a></td>
<td class="nump">90<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 90<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 90<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(73)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(73)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(70)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net&#160;Carrying Value</a></td>
<td class="nump">17<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 17<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 20<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_InternetDomainNamesMember', window );">Domain names | Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember', window );">Patents</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross&#160;Carrying Value</a></td>
<td class="nump">252<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 252<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 252<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(245)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(245)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(240)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net&#160;Carrying Value</a></td>
<td class="nump">$ 7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 12<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember', window );">Patents | Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 928<br> -SubTopic 340<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6473545&amp;loc=d3e61844-108004<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_WeightedAverageMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_WeightedAverageMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=appf_DatabaseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=appf_DatabaseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=appf_TechnologyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=appf_TechnologyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksAndTradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksAndTradeNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=appf_PartnerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=appf_PartnerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_InternetDomainNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_InternetDomainNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674654468504">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Intangible Assets, net - Schedule of Finite-Lived Intangible Assets, Future Amortization Expense (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract', window );"><strong>Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear', window );">2021</a></td>
<td class="nump">$ 2,306<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2022</a></td>
<td class="nump">4,605<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2023</a></td>
<td class="nump">3,060<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2024</a></td>
<td class="nump">835<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2025</a></td>
<td class="nump">833<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour', window );">Thereafter</a></td>
<td class="nump">2,378<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net&#160;Carrying Value</a></td>
<td class="nump">$ 14,017<span></span>
</td>
<td class="nump">$ 16,357<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Finite-Lived Intangible Asset, Expected Amortization, after Year Four</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674654336648">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Accrued Employee Expenses (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CompensationRelatedCostsAbstract', window );"><strong>Compensation Related Costs [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedVacationCurrent', window );">Accrued vacation</a></td>
<td class="nump">$ 9,891<span></span>
</td>
<td class="nump">$ 8,277<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedBonusesCurrent', window );">Accrued bonuses</a></td>
<td class="nump">7,024<span></span>
</td>
<td class="nump">5,638<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedSalesCommissionCurrent', window );">Accrued commissions</a></td>
<td class="nump">2,191<span></span>
</td>
<td class="nump">1,995<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedSalariesCurrent', window );">Accrued payroll</a></td>
<td class="nump">7,169<span></span>
</td>
<td class="nump">1,921<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedPayrollTaxesCurrent', window );">Accrued payroll taxes and other</a></td>
<td class="nump">1,229<span></span>
</td>
<td class="nump">1,057<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Total accrued employee expenses&#8212;current</a></td>
<td class="nump">27,504<span></span>
</td>
<td class="nump">18,888<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent', window );">Accrued employee expenses&#8212;noncurrent</a></td>
<td class="nump">$ 968<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedBonusesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6911-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedBonusesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedPayrollTaxesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for statutory payroll taxes incurred through that date and withheld from employees pertaining to services received from them, including entity's matching share of the employees FICA taxes and contributions to the state and federal unemployment insurance programs. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedPayrollTaxesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedSalariesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of the obligations incurred through that date and payable for employees' services provided. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6911-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedSalariesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedSalesCommissionCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for sales commissions. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6911-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedSalesCommissionCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedVacationCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 710<br> -SubTopic 10<br> -Section 25<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=6409733&amp;loc=d3e19396-108361<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6911-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedVacationCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationRelatedCostsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationRelatedCostsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.15(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674652755416">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Accrued Employee Expenses - Narrative (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Accrued employee expenses&#8212;current</a></td>
<td class="nump">$ 27,504<span></span>
</td>
<td class="nump">$ 18,888<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=appf_A2021ThreeYearPlanMember', window );">2021 Three Year Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Accrued employee expenses&#8212;current</a></td>
<td class="nump">500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_EmployeeRelatedLiabilitiesNoncurrent', window );">Accrued employee expenses&#8212;noncurrent</a></td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_EmployeeRelatedLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Employee-related Liabilities, Noncurrent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_EmployeeRelatedLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=appf_A2021ThreeYearPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=appf_A2021ThreeYearPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674650860424">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Narrative (Details)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LessorOperatingLeaseRenewalTerm', window );">Lease renewal term</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseTermOfContract', window );">Lease term</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseTermOfContract', window );">Lease term</a></td>
<td class="text">11 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeLeaseDescriptionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeLeaseDescriptionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseTermOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918673-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseTermOfContract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LessorOperatingLeaseRenewalTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Term of lessor's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 30<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=124258985&amp;loc=SL77919359-209981<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LessorOperatingLeaseRenewalTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674651707096">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Schedule of Components of Lease Expense (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseCost', window );">Operating lease cost</a></td>
<td class="nump">$ 1,202<span></span>
</td>
<td class="nump">$ 1,412<span></span>
</td>
<td class="nump">$ 2,297<span></span>
</td>
<td class="nump">$ 2,848<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_VariableLeaseCost', window );">Variable lease cost</a></td>
<td class="nump">394<span></span>
</td>
<td class="nump">399<span></span>
</td>
<td class="nump">700<span></span>
</td>
<td class="nump">792<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseCost', window );">Total lease cost</a></td>
<td class="nump">$ 1,596<span></span>
</td>
<td class="nump">$ 1,811<span></span>
</td>
<td class="nump">$ 2,997<span></span>
</td>
<td class="nump">$ 3,640<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lease cost recognized by lessee for lease contract.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674657996328">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Lease Related Assets and Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">$ 6,599<span></span>
</td>
<td class="nump">$ 3,972<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right-of-use assets</a></td>
<td class="nump">40,983<span></span>
</td>
<td class="nump">30,561<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Other current liabilities</a></td>
<td class="nump">1,561<span></span>
</td>
<td class="nump">1,845<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities</a></td>
<td class="nump">53,936<span></span>
</td>
<td class="nump">40,146<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Total lease liabilities</a></td>
<td class="nump">$ 55,497<span></span>
</td>
<td class="nump">$ 41,991<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList', window );">Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]</a></td>
<td class="text">Other current liabilities<span></span>
</td>
<td class="text">Other current liabilities<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Operating Lease, Prepaid Expenses And Other Current Assets</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicates line item in statement of financial position that includes current operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918631-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674653416808">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Schedule of Minimum Lease Payments Under Leases (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract', window );"><strong>Years ending December 31,</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear', window );">2021</a></td>
<td class="num">$ (4,645,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2022</a></td>
<td class="nump">4,022,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2023</a></td>
<td class="nump">4,850,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2024</a></td>
<td class="nump">5,814,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2025</a></td>
<td class="nump">6,481,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour', window );">Thereafter</a></td>
<td class="nump">46,783,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">63,305,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less: imputed interest</a></td>
<td class="num">(14,407,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion', window );">Total</a></td>
<td class="nump">48,898,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_LesseeOperatingLeaseTenantAllowanceRemainderOfFiscalYear', window );">Tenant improvement allowance, remainder of fiscal year</a></td>
<td class="nump">6,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_LesseeOperatingLeaseTenantAllowanceYearOne', window );">Tenant improvement allowance, 2022</a></td>
<td class="nump">600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_LesseeOperatingLeaseTenantAllowanceYearTwo', window );">Tenant improvement allowance, 2023</a></td>
<td class="nump">800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_LesseeOperatingLeaseTenantAllowanceYearThree', window );">Tenant improvement allowance, 2024</a></td>
<td class="nump">200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease, current</a></td>
<td class="nump">1,561<span></span>
</td>
<td class="nump">$ 1,845<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember', window );">Prepaid Expenses and Other Current Assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease, current</a></td>
<td class="nump">$ 6,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lessee, Operating Lease, Liability, Net Of Current Portion</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lessee, Operating Lease, Liability, to be Paid, after Year Four</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_LesseeOperatingLeaseTenantAllowanceRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lessee, Operating Lease, Tenant Allowance, Remainder Of Fiscal Year</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_LesseeOperatingLeaseTenantAllowanceRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_LesseeOperatingLeaseTenantAllowanceYearOne">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lessee, Operating Lease, Tenant Allowance, Year One</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_LesseeOperatingLeaseTenantAllowanceYearOne</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_LesseeOperatingLeaseTenantAllowanceYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lessee, Operating Lease, Tenant Allowance, Year Three</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_LesseeOperatingLeaseTenantAllowanceYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_LesseeOperatingLeaseTenantAllowanceYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lessee, Operating Lease, Tenant Allowance, Year Two</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_LesseeOperatingLeaseTenantAllowanceYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeLeaseDescriptionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeLeaseDescriptionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid 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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674734557688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Loss Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit', window );">Per incident policy limit</a></td>
<td class="nump">$ 100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage', window );">Quota share of tenant liability insurance provided, percent</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=us-gaap_OtherCurrentLiabilitiesMember', window );">Other current liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Loss Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability', window );">Liability for reported claims and claims incurred but not reported</a></td>
<td class="nump">$ 1,500,000<span></span>
</td>
<td class="nump">$ 1,500,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=us-gaap_OtherCurrentAssetsMember', window );">Other current assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Loss Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices', window );">Deposits held with a third party related to insurance services collateral</a></td>
<td class="nump">$ 1,800,000<span></span>
</td>
<td class="nump">$ 2,700,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Property, Liability And Casualty Insurance, Deposits Held With Third Party As Collateral For Services</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Property, Liability And Casualty Insurance, Per Incident And Per Residence Coverage Limit</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (cc)<br> -URI http://asc.fasb.org/extlink&amp;oid=116884095&amp;loc=d3e14764-158437<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116884095&amp;loc=d3e14764-158437<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LossContingenciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingenciesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of risk reinsured on insurance products per entity policy.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=us-gaap_OtherCurrentLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_OtherCurrentLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=us-gaap_OtherCurrentAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_OtherCurrentAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674649535432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Share Repurchase Program (Details)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Feb. 20, 2019 </div>
<div>USD ($) </div>
<div>director</div>
</th>
<th class="th">
<div>Mar. 31, 2020 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1', window );">Share repurchase program, authorized amount</a></td>
<td class="nump">$ 100,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases', window );">Number of directors to authorize repurchases | director</a></td>
<td class="nump">3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockSharesAcquired', window );">Repurchased shares (in shares) | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">48,002<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockValueAcquiredCostMethod', window );">Reduction to stockholders' equity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,194,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Stock Repurchase Program, Number Of Directors To Authorize Repurchases</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of stock repurchase plan authorized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchaseProgramAuthorizedAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockSharesAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and are being held in treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockSharesAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValueAcquiredCostMethod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValueAcquiredCostMethod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674658467240">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation - Stock Option Activity (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward', window );"><strong>Number&#160;of Shares</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Options outstanding, beginning balance (in shares)</a></td>
<td class="nump">1,168,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Options granted (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Options exercised (in shares)</a></td>
<td class="num">(120,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod', window );">Options cancelled/forfeited (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Options outstanding, ending balance (in shares)</a></td>
<td class="nump">1,048,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,168,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward', window );"><strong>Weighted Average Exercise Price&#160;per&#160;Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Options outstanding, weighted average exercise price, beginning balance (in dollars per share)</a></td>
<td class="nump">$ 11.77<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Options granted, weighted average exercise price (in dollars per share)</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Options exercised, weighted average exercise price (in dollars per share)</a></td>
<td class="nump">5.37<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice', window );">Options cancelled/forfeited, weighted average exercise price (in dollars per share)</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Options outstanding, weighted average exercise price, ending balance (in dollars per share)</a></td>
<td class="nump">$ 12.50<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 11.77<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted Average Remaining Contractual&#160;Life in Years</a></td>
<td class="text">3 years 2 months 12 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(3)-(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price of options that were either forfeited or expired.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(3)-(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674658797368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation - Restricted Stock Units Activity (Details) - RSUs and PSUs<br> shares in Thousands</strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jun. 30, 2021 </div>
<div>$ / shares </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Number&#160;of Shares</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Unvested, beginning balance (in shares) | shares</a></td>
<td class="nump">483<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares) | shares</a></td>
<td class="nump">194<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares) | shares</a></td>
<td class="num">(158)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Forfeited (in shares) | shares</a></td>
<td class="num">(21)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Unvested, ending balance (in shares) | shares</a></td>
<td class="nump">498<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted Average Grant&#160;Date Fair&#160;Value&#160;per&#160;Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Unvested, beginning balance (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 80.20<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in dollars per share) | $ / shares</a></td>
<td class="nump">140.30<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested (in dollars per share) | $ / shares</a></td>
<td class="nump">60.18<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Forfeited (in dollars per share) | $ / shares</a></td>
<td class="nump">105.98<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Unvested, ending balance (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 108.77<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=appf_RestrictedStockUnitsAndPerformanceStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=appf_RestrictedStockUnitsAndPerformanceStockUnitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674735551736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation - Restricted Stock Units (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_RestrictedStockUnitsAndPerformanceStockUnitsMember', window );">RSUs and PSUs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Shares granted in period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">194,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Share-based compensation options vested in period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">158,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 3,700<span></span>
</td>
<td class="nump">$ 3,200<span></span>
</td>
<td class="nump">$ 6,800<span></span>
</td>
<td class="nump">$ 4,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions', window );">Remaining stock-based compensation expense for unvested shares, not yet recognized</a></td>
<td class="nump">$ 39,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 39,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Stock-based compensation expense, weighted average recognition period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years 7 months 6 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (RSUs)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Shares granted in period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">159,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsMember', window );">PSUs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Shares granted in period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric', window );">Percent of targeted performance metric</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Share-based compensation options vested in period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric', window );">Percent of achievement of award target performance metric</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">106.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsMember', window );">PSUs | Executive</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Shares granted in period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,688<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsMember', window );">PSUs | Vesting Tranche One</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent', window );">Performance based cash bonus payment percent</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsMember', window );">PSUs | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric', window );">Percent of targeted performance metric</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsMember', window );">PSUs | Minimum | Vesting Tranche One</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric', window );">Percent of targeted performance metric</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent', window );">Performance based cash bonus payment percent</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsMember', window );">PSUs | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric', window );">Percent of targeted performance metric</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsMember', window );">PSUs | Maximum | Vesting Tranche One</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric', window );">Percent of targeted performance metric</a></td>
<td class="nump">150.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">150.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent', window );">Performance based cash bonus payment percent</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">65.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedIn2021Member', window );">PSUs Granted in 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Shares granted in period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">34,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedIn2020Member', window );">PSUs Granted in 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Shares granted in period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2019Member', window );">PSUs Granted in 2019</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Shares granted in period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">31,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2018Member', window );">PSUs Granted in 2018</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Shares granted in period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2019and2018Member', window );">Performance Stock Units Granted in 2019 and 2018</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric', window );">Percent of targeted performance metric</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2019and2018Member', window );">Performance Stock Units Granted in 2019 and 2018 | Vesting Tranche One</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Share-based compensation options vested in period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">45,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2019and2018Member', window );">Performance Stock Units Granted in 2019 and 2018 | Vesting Tranche Two</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Share-based compensation options vested in period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">39,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2019and2018Member', window );">Performance Stock Units Granted in 2019 and 2018 | Vesting Tranche Three</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Share-based compensation options vested in period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">28,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2019and2018Member', window );">Performance Stock Units Granted in 2019 and 2018 | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric', window );">Percent of targeted performance metric</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets', window );">Percent of cash bonus payments on initial targets, percent</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2019and2018Member', window );">Performance Stock Units Granted in 2019 and 2018 | Minimum | Vesting Tranche One</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric', window );">Percent of targeted performance metric</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2019and2018Member', window );">Performance Stock Units Granted in 2019 and 2018 | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric', window );">Percent of targeted performance metric</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets', window );">Percent of cash bonus payments on initial targets, percent</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">65.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2019and2018Member', window );">Performance Stock Units Granted in 2019 and 2018 | Maximum | Vesting Tranche One</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric', window );">Percent of targeted performance metric</a></td>
<td class="nump">150.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">150.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-Based Compensation Arrangements By Share-Based Payment Award, Percent Of Cash Bonus Payment On Initial Targets</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-based Compensation Arrangements by Share-based Payment Award, Percent Of Achievement Of Award Target Performance Metric</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-based Compensation Arrangements by Share-based Payment Award, Percent Of Award Target Performance Metric</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-based Compensation Arrangements by Share-based Payment Award, Performance Based Cash Bonus Payment, Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=122041274&amp;loc=d3e301413-122809<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=appf_RestrictedStockUnitsAndPerformanceStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=appf_RestrictedStockUnitsAndPerformanceStockUnitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedIn2021Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedIn2021Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedIn2020Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedIn2020Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2019Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2019Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2018Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2018Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2019and2018Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2019and2018Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheThreeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheThreeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674734716136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation - Restricted Stock Awards (Details) - Restricted Stock Awards - USD ($)<br> $ / shares in Units, shares in Thousands, $ in Millions</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Number&#160;of Shares</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Unvested, beginning balance (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Forfeited (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Unvested, ending balance (in shares)</a></td>
<td class="nump">6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract', window );"><strong>Weighted Average Grant&#160;Date Fair&#160;Value&#160;per&#160;Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Unvested, beginning balance (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 153.41<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">144.33<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">160.34<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Forfeited (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Unvested, ending balance (in dollars per share)</a></td>
<td class="nump">$ 143.74<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 143.74<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 0.2<span></span>
</td>
<td class="nump">$ 0.2<span></span>
</td>
<td class="nump">$ 0.3<span></span>
</td>
<td class="nump">$ 0.3<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions', window );">Remaining stock-based compensation expense for unvested shares, not yet recognized</a></td>
<td class="nump">$ 0.7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Stock-based compensation expense, weighted average recognition period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 months 24 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=122041274&amp;loc=d3e301413-122809<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674657076840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense (benefit)</a></td>
<td class="num">$ (324)<span></span>
</td>
<td class="num">$ (13,484)<span></span>
</td>
<td class="num">$ (5,857)<span></span>
</td>
<td class="num">$ (13,109)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsLiabilitiesNet', window );">Net deferred tax assets</a></td>
<td class="nump">$ 4,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140674653589576">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue and Other Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 89,040<span></span>
</td>
<td class="nump">$ 81,043<span></span>
</td>
<td class="nump">$ 167,961<span></span>
</td>
<td class="nump">$ 153,538<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Revenue recognized from deferred revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,800<span></span>
</td>
<td class="nump">3,500<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=appf_CoreSolutionsMember', window );">Core solutions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">25,363<span></span>
</td>
<td class="nump">26,061<span></span>
</td>
<td class="nump">49,537<span></span>
</td>
<td class="nump">50,963<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=appf_ValuePlusServicesMember', window );">Value+ services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">60,447<span></span>
</td>
<td class="nump">51,592<span></span>
</td>
<td class="nump">111,957<span></span>
</td>
<td class="nump">95,730<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=appf_OtherServicesMember', window );">Other</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 3,230<span></span>
</td>
<td class="nump">$ 3,390<span></span>
</td>
<td class="nump">$ 6,467<span></span>
</td>
<td class="nump">$ 6,845<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI http://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=appf_CoreSolutionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=appf_CoreSolutionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=appf_ValuePlusServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=appf_ValuePlusServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=appf_OtherServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=appf_OtherServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>67
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M@_:%0YM\="+?QW(M"CX4"OKCPX-4E1[X?SJR^WUVO\GN3V2_Y8^\/'"H:-K
MH FLI\''111[OJ;T./X4  I[/CU&+6T4#L(XP,>P%0!CE-&HAQUQ9#U'YE3P
M1D@]O/380*(=7^46\>=]/1KEA4/#H,\?.#6L\]>CMVJU1"?\>9T?I)Z7Z[<I
MUPO+.DO:Z5IW(BE$I;)_FA>GD/!M:VRD B41C@WA;10)?6PHNK1108!Q:.AN
MHUA 0P++'O:RA$Y9[I*<M[+KE?$[KV6'V(96VS@,L6^P!5 T-'DL;12E46P4
MX\I&D8@0"K.->K;1*P-)\J1:[QK"^TJDA[72W_Y1.X1]/6PAZI%-BC$O,*@#
M*())9%"W422.(J-H5@"*TM&8/J(>]]1C)_6?>:F'5=X6=ZK7SJR>GVI? I&.
M;3H^L4A#J#!B!FD;14(6F-4-H"AE(4P:>\."[CEI+UT#&UR%/:LC8>";XQI
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
MC90'N1<.T3!>Z=/4[M-V[*2ZL]) X9$KAV@8F'1>:G?>QS_A0F F  851CZ
MG)"2,69^[$^EF5'[S;?]"1<4]Y3J-],"'8)01<Y>9T,'MR0&1D/<Y^ISD0M
M1Y3\O 0T(#I 8S(_I(949M*[F=V[GXZ<3#=Q W)"2BMR,NGXS.[XQR$GT_\<
M 41.2*?.S2F)&?2$ T!.0*<A)Z !\P8:TX*<3*(+PS\>.9D$$F8'DF.1<\J
MYP#87'ACDC/84TH1#"C1,^.@>W^P]UPE!O"\9X#SAU$(;5U R3@VG_=,FC][
M2HD!/.^9[NI8'#D\4/>MN\3@EL3 :.*\%__4?0NQAJ]NW$>6&*!!&0Z-&U>R
M"WMBC<%)"0RJ,8"4 "FME, DZ; C:@Q.4&!@C4$'!>:N,;@E,3 :" J 3@,%
M0 /G#5AC,(."Q#+V"C4&+CF%OU"-@0/00?14!62A^4]ON 03_HRE" XX/U5O
M\1VB89S2S_GSE2(X4&0( Z+&Z5 - Y7.SU^]%,%U1F#F/Q3@$A'XJY0B.%!C
MH)&O_DVS4S:<E600_N-*$1S # IL5J@28=FM>U\YL+/(,SR9X[IQ6R*3MLWM
MMGU4B83K_CNF:HG$(1K&*_V9V_W9CL,<\.'.L@=>YE(-0Y-.Q@\J,!P*S1RX
M%8>A&5):H3F0=A@X[/!P:.Y['-[L M ,Z92)N24Q( &A&=#IT R)(/B!!H6@
M>;+W5=3VR\^"&P5-UEZ>WHB&_MM 7+)J^WWB[9NF7'??3OU2-DVYZEXNTT0P
M3RL0O[\IR^;A3?N%U]VWNL__!5!+ P04    " !K@0E3AO#]W1P(  !^(P
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
MJPL.I*UU6R5)0L%M8J<\SRBPW^H<LZ(3)%-X4&87=1XH.I(-4 L,<1"E@%'
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
M2JE]45G?0%O"T!-B 5Q531E9*/H2=\1])_%#PA*;8B6OE)@KQ<22(L&QK74
MT0.VABNAD.IF2")[]22-^Y5MJA('"(+JQ/.7QD0L9#9LXT0VYN,"D5Y(\TY5
MO,A8TGQ?*43OS)@&^SZJM75A*#8K7:S$1GK0K+"*SR4JLV_/!?CX(!V>CV-
M'["WW2CI]I4I>VJ9RXJ5%[,442MAU2OBU-GZ:7(<B)^QO//B["%/T6T2>IB=
MT:ZU(:TBP&IID,IHV5# :X0LOP##>=N0F=.>G1Q+HV.Q7ITJ&N?H/GBJL=*H
M0GE/T4U>3&<LI':=&+2?Q'X"UU&[2.9.,@?P;20NWQ[@];6H(UPK@FL!L%4M
MV KX,IF\Y4QS1)1 #LJJQ$]TCDA47:^1=<D$F?T&RB#3$G$Z_AO0J>?*B:/6
M^A]544GO&8[(2[WXE2CFFV3=%*^R)K#PV>GNT4+/8F#O7/J5>(\:Q+,7)M,5
M=#=Z4:L9+A1T(/CSJ79(JP%-D(?%");,2;!!ETP*)B33T.-_,0"T4 ND64FS
MY'C9";/?7A.\"?9L7S@])Z^G@@F>"E\GU8 65'Y66H;!/A%G#:Z+)"J#!8S5
MX8NQ,&X'\T7'"D=.#WDS.ZR0L++ G 2%783+&.%_"6 <B,^>?>E;1$G-T/YI
ME1-'A&<\W'E:!#BRAPXW/9AUZK=&$XYWD4D&J^57)51["O$*+VOJ=72\L)*P
MQF(!\R<9B#UPG3T/;&"]2F)66LYU%5TFB]WE$%H,WDC%=/I]^^)))?.3PFF7
MI,.>8N\RY=25,@V@B2(0(8'EEOR!]&YK%3>OG;W27%7''$E/1)#7.+AL&(8Z
M\NP70$A+*6DWYQ'D"2!\,__"*K/B2U,N6=FTNHE6[?2=O*!#MBM9->HAK9)Q
MHM?,&X]*R'OHM)Y#06RQX2TR_82/<J[)""S7.LA*_PY2WB["AK@NK*=G44K:
M/$?9L=!L*0L:(2<N%/O*.<XRO -2.#8*CIE;A]J0@14;2.*2_4S)Z (MNE2X
MH_JR#9.V"WN%-7R7B[JEM>5&5S%#5-8L]RO.>5%#PRV[#>E 8*R@)?X.XS X
MS@=9(D4!L6Y-@_P'.-#S2K6$6U\MF+M^7# :53?)*;AH O#L4UM$6JG)YV*<
M[FU6BAV/$=92[K+%U[CR671#,E97<]US3&_;]@&T)[HV"11N^H8^$!<&JD _
MEB.I,5^-W1CR[VZ[1["XI.WSGW^Y^&9__ (U"[DDJ@TIEBB=4!W [KABMR*8
MY12$3< (DY,XW!*(DB,G^WYTX\[KC5)E= NY7@/,"?_ZR+P#B@\H!Y)AO._G
MOVXA*(/%A%A=O9Q@+Y8<I>J!IX6G2;^-VOWZ-P)I4->AJ];ZSZ$3;XV<4U%^
M)74ER74@4M-!7U;VH@GD^QK-0Y&2<-(R93I\O55B\'9GF^6JA<)H/S0O+B6(
MW)#<$K]54<XO0^!$B'T'E2V5KKG<"W88LUB%Y,I%)4$@PAC5((+,^QR/A72.
M';"%E*UXC)ZW(RH?"8L8<EW@$JAF'\WR/K&P8X_-Y9ED1",<-3?"HP@CWQ*4
M% (%8:%=T=1()B0YN\R&VX3L+C BF7(=60$?G?-B=^?7E@L@)!OMU3WJ8BU'
M,,?J'MX=B._MAB(OMS7;:;@[I)8WJ5@A=S%J$^4 O:+@0@1:+V$WZ/6V#V/-
MG"*%_""F)R(6JU/V\%0#S54LA0N+*/R]JTH>KVYTZ]XQ;U"DKM#CD#%RT*D8
M#HKKB&W_3^?<6X$,@50J5Y85Y*YNPX]32\G]83P#9Z)U+*)SKE/ DUIV!)^-
MA^=$FBM&4A'ZQ>C:VQAVIS;:I *3?*X3]T#,&NCZ_KU%\K9L!TD)TD (REV1
MU<S=']7Z61&H@,R=1SRAU-"YZ]>QMS1-T4&LQH5(=2KZ&PLE"59 7][FZ4GM
MUD_H52]BJ(-9[*C17HG9B@*4GNGN61&?>7Y&_2TW9+*.Z,2W?8L,U Z),Q8C
M7K]K]U.NA D+V<2PO&%< #LZ5#'QM(0KC8@O^R./*]B0>E%*FTE+3D77H*21
MRJUN!!,8^;E+B;"\L 2J[)'\*'5 H,41!@T!!7(>(@H;'ID2>%+E@S W#;>$
M>/Q$F7.Y15C; +K, _K=8_YMXT'-/WL)UBFY]R>58H9>>.L&YR?\&_6N?KW-
M??\4L-X$PEF.T*/I\/CXB#XFQR_H8WHZY6\(QA\1@2_O$FL,"CFZ 5K!:6ZF
M$^5>E8VLV#B &<Q]G/[^.%NO:)P-R"#NIJ>1.V9K^OQ%Y&XJ+JMF%W<VHU2?
MNV@)HY/WW&7\MI5*737<&3Y@K?%P/#G!_Z.3$?Y/QJ?X/STZ>I*8^9RCX^')
M\RE_C./'B^?\,7TNWJ=!16!OX.KPD8&(8;<842TKY'))>!SS]Q@W1Z,1KQA/
M3_@ZLL7ZHLD(2@8:ZSU83M^CVKW!Y>RS'SSK:IM^2\VYF-6;1BC@)XL?@2_H
M?;Y!4YNDK @X$2QZN:OK66G6 Q3GJ&[6UB08"=HO9)$C&N&.!HD1HB=,[H#:
MZA!=VL[';3KAF46M @V$[M' QZ0!GAR;6T+%=!O5HZZ3:E(FH$*E*IJJA:''
M(>C/.&T2]::S49M0%G_6SP[2$.B!T4\>#L$/&*'0!#&MR6A\$JO:+E/UJ,PH
M4%!+ %4M/J#?]V>S=] OV7Q[UM0M_1QKQ+W!V>PSEOYD#_B8_?'1L'?*1=>3
MB7UQ'LOL'[G,%GN?[)K09W("$/X0W2#/-K=70J^[2?+I^=S!LUSK(;\!VK>&
M<KV684EYCUPO@E0:#]'B>IL)FM^V@\S8&X@8FF (/4FP<$X9USA--<2P/8^&
MUSI&8#PF-4W)Y,V:NAG^GALR'M"B<.W8ZZ3H<7^G7>$[;2>VCV_[7E;4LU$"
M85D\C9>[Z51.&?W*-E7J'%&)?*G(9:U+$TSJ0_/PL5,ZJ>(':1H:5<=![BCU
M:&7,$6T#U\I5:IX%/E)J=:RUJARV11Z5!;G&Y:D.#7%YM M=]%[>\!S@K%DV
M/A##IRD(X-VM;T.4Y+NG^^/C(3;D>8BG-TGCR:OO^GW?SU0/I0<7].H -?8^
M#2UG>9JT-VOF(7KV\6A_.H)SG_-KW+3O^2O?CRBRWD6]KN(<B35V3M,E*AT;
MEU\@H>JQ#56=A$&T[<PYZF#8O)^H(+^@,FNFW)4N^$41O\+L H2$HP"1< :G
M8V7%#I;>S\6XJ?32I&D4AT5\R"Z7!V?\DF*;7YZ&$1;V^$7-'6?I/3ZY<= ^
M\L!\%IG/=M+POQP,D"ZI4[)K?I$V3Z_VDI&H)&Y'?GMDRQT\INXFCR=EMU]L
M[:_ /?J 9W?F$>W;E"2AJCHX>:I2M(\M/><S>B%PDQKFSG"[PI),_7</RR>F
MLC'%<?O&"#*^>#"27^R/)\/<>WWBN79*-L\Y'F?D1WIQDYOGV^&XM3%'$!$=
M/$L@W5J N[7$0:#W+)'R+M3>FK//J8&O[14]S%,]Q2^!.&?0^CR5H"7MY#E-
M>U,%Q3%!WI)FUS35BN_.XH2U+79X7>_X'!BZ[AKI]XTC<!N*GL T8.GY"'<<
M95/$&K-2UW'NVLTE*<\-4_CT)RMW98B1(J^Y!_';P[4L!G>2M)8'Z63[B%O;
MXYFEL\WZ3O*LO.V2.^*8F^";*,&BRN]U4JW(\S(LD1QG:>9$U33XJV3T7Y=>
M7 @J0>,^JC8[M<;!?ZK!%]KY<$O'6]@2$SL?R7[4#3L5C[HJM=2^RK8D8,[>
M&G2=WB G[?9;ZCQKXGHW"Y3$:*=>J8"_7X@6CMO1E>G,UUN\^V7-@?C,+RWA
M'GZKXAKV#-'.W/SM&5FKESN</\YX?D][K[[;G7U]IU-V@2D'P1TP'?^=P'37
MSY0.>S\(0^&QY)^]\7#,A/C;L/9N^\NZL_B#LFYY_%G>!^F6&I!4J06VC@Z>
M'P_BC"A_0;'#/R^;VX JAR]72L(!: &>+ZP-^0L=T/[>\.U_ 5!+ P04
M" !K@0E3R5U=7W\$  !@"@  &0   'AL+W=O<FMS:&5E=',O<VAE970Q,"YX
M;6R=5FUOVS80_BL'H0-2(+,=.\G2PC'0I-O: 5F"IEL_#/M 2V>+*T6J)!7%
M^_5[CI+?ZB8H]D7BV]T]]]P+.6V=_QQ*YDB/E;'A,BMCK%\/AR$ON5)AX&JV
MV%DX7ZF(J5\.0^U9%4FH,L/Q:'0^K)2VV6R:UN[\;.J::+3E.T^AJ2KE5U=L
M7'N9G63KA0]Z6499&,ZFM5KR/<<_ZCN/V7"CI= 5VZ"=)<^+R^S-R>NK4SF?
M#ORIN0T[8Q)/YLY]ELG[XC(;"2 VG$?1H/![X&LV1A0!QI=>9[8Q*8*[X[7V
M7Y+O\&6N E\[\TD7L;S,+C(J>*$:$S^X]AWW_IR)OMR9D+[4=F?/SC+*FQ!=
MU0L#0:5M]U>//0\[ A>C)P3&O< XX>X,)91O552SJ7<M>3D-;3)(KB9I@--6
M@G(?/78UY.+L+3@)4<?&<Y@.(S3*^C#OI:\ZZ?$3TN=TXVPL _UL"R[VY8=
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
M/RSVO&O$(^J%L$=4,6#7SR7I  9R.B7'"A$+DJB50X2J=,LRPS*9N8,6]ZF
M1>,9 H/J@0'[0EFB.4:W^+F[C-CJ@%U2V4D9IL>:0\0X0H>;D(C,=Y++=]FS
MGPZ?,>>V<@ZKH.T@N";\<^(2D&2<@,#B^FJ^( Y=1*/EW%\DTYE;S=>6HKH6
M4 <??H4?<JEH.EVZG\F(S:+Y=$)_Y_'_DF7JS-)BVD"OMY@.W)T7R_MPHDQ0
MA=?C0]YM]A2I&2/=OBYI^<W+_5:FCD[R*H-W(1K,N:.[_M-_XE@_PYYVQ7ED
MC\]VG_I2X*>C!.A'/VI%CFL\LWQVUO<]^?"PF[XD6>>Z_JLISCKNS9:S9M8D
M@6<L6((CCNMC?<%F'3EA#KR'7"!^&HSX_P+&XQ)KVC4Y0@,9?N,>Z))),QEE
M F)D=!*KAYE)%$\!50>I\;BC=S2.EJ[0FSNDWB.=(XG8D-(B5B(O!6X/"9+[
M1A*>RU,0=)O]T1$7LBK<PPQ-A*I*9%NBXA?Q8(3.+<]I-A$Y3?>1^ZRHH:M>
M&<^(.ZQ+?FP=$L&I;N$3X>RB_M2,=[)$ I/$-G 9ZX-\W0SFDJ]D'MH24'.K
MI7 A+" 5<E -4>6#5CNK$R7BG$XF%W<B]Z2PJT(IA8QKY*:$F)2#(U"EV$Y6
M07W16!@R3M.76.)#$UY(P-==ZEH?;R((P*';MESR!,JS 1-?-#V_TT'Z\MO9
MHV3SV^^4-%)HKM/MX3M9ZQ<GH_Y-PN\X^+P[J!MNMHRJ3$BF8[H@0A 'L*_^
M"A=?5R$HHW@<GV0G>M87<4L78?7,^M>/WJBB$-I!N>,[;+Y^/':1WKV[?F9^
MNGC$)PT]^B[MZ/8QGS1-AV_7CFY/=6_H98YWV>GB0,3@D1GQR6P2)8OY$=>
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
M<VAE971S+W-H965T,30N>&ULK5?;CMLV$/T5P@V*!-#Z(N_%F[T Z]T$;8$
MBR1M4!1]H*6QQ40B%9*RU_WZGB$EV7'C!"CR8DODS'#.F1MUO3'VDRN(O'BJ
M2NUN!H7W]<O1R&4%5=(-34T:.TMC*^GQ:E<C5UN2>5"JRE$Z'I^/*JGTX/8Z
MK#W:VVO3^%)I>K3"-54E[79.I=G<#":#;N&M6A6>%T:WU[5<T3ORO]>/%F^C
MWDJN*M).&2TL+6\&=Y.7\U.6#P)_*-JXO6?!2!;&?.*77_.;P9@=HI(RSQ8D
M_M9T3V7)AN#&Y];FH#^2%?>?.^NO W9@64A']Z;\H')?W QF Y'34C:E?VLV
MOU"+YXSM9:9TX5=LHNP4PEGCO*E:97A0*1W_Y5/+PY[";'Q$(6T5TN!W/"AX
M^2"]O+VV9B,L2\,:/P2H01O.*<U!>><M=A7T_.U=EMF&<O&JJDNS)1*OGA!O
M1^YZY&&>A499:VH>3:5'3)V+-T;[PHE7.J?\2_T1W.I]2SO?YNDW#?[6Z*&8
MCA.1CM/)-^Q->ZS38&]ZQ-Z]J1B;#.GPEDKI ?S>.._$7W<+YRU2Y.]OG'/:
MGW,:SCG]$9S^3U.BVZ%NA[J=S*!D'&,S2^$+$DM3HO:47HGG2F/%-$[JW+UX
M*< P!88?**-J059,)X%M_AGW9ZQE%DE[)BZ3V>4$_[,DO;CH!19&-WST13).
M3\59<CZ=]7N9J2KEN(B=2),)M"?)Y>59OU_+K86#T)V<7_(>3C_<\_()UN&T
M, !D(96F+#L^NQ#OC9<EJOL('3__-$LGZ5766$O:P_/T(CD;G^)A,DMFL]EQ
M(EM-;?1.^?)\AM]V1[P'N9Q44F]%(>%@;FKFW=&:+)PJC5Z=>+(5;%+6</\1
MF72%4#J#/7ZM2PE>GG.8V&HZOGK$RG/W(KQ-KEXD8E.HK!#2$KJ-4RN- [Q!
M0]Q("W;)>K3>W0$N8>MEDW.\NUTD@FFLT+)BH+TO9KE4$($*NCNGBK*</=ZJ
M1>-#P+P)I[#R#@Q7BJ>5RH19?*305@\@D WC BC!C\Y5,':(:(TA(!9;P8"'
MX@,%B)8^-\I&B.2\0M^ED,2U-0NY*(ES L-%-&@RP>>@[T)KAJ,:S5%CFF!N
M^!"FBRLG/C;YBA=$X\!*(F0%+&TJ^0)+8$!J\ 9X6I;E%DRO,:]J6.3\8RI]
M89$;6Y(VQ.P+O._#WI^\Q\YT0(?BBXZ3A4X306;&YM%=&>CDV7'"Q<\XE!-F
MW8*SF%]K"=<=V36")6JRR@1Z>)N>/./:0(]*!:>%\@+Z/5N!H*^& W 9M*SK
M4F5!EGW'^$&]+1",K&![^<Z5#%G@.&DPP1&^>L]J=&HH[O*/&%E,-:<.>\'Y
M$9O ,2)66OW340$%5\>,^B\1?,7@2!PPT0<^*Z1>4<#%^=IG3]L%(R6J5'[+
M2Q%?C"QQ+BJTQ2-4#<5#8SO1F A5''7$HTZ\D1:$3"=Q4B5!;&Y"X2S% ](Y
M\\8ZIMH:II3W0Y<]2)R^UKE?0ZX)+$J'9N2^C^%(F \+!?Z;9E7LM_S@]_1[
M*/MAL0/9-3]+)]'+%MP/\',HYEU@?2%1NG4>YG4\AU,LX;3O2^G9>'B&"Q**
ME3,)D^+99#CN%Y 31_O\2=?>6>NXU-X<2'!LEZ?EEAMNRP8@:!<N%=J94D6/
MY[(,6-^%2[9M[QUM ;=8,4EL;( Q2-R/8RYH$V<;Q@F/F 61WH'& NI]@[^<
MN#6K,!R8KM@&M/&B=1I-;:\I0*+M+L&9(R$Y[ 4H\,HT7-R]!X?9Q1#ZBD2L
MFJJ.MIC<KB0=.DB8',Q"H]LIY54[XRNY%<NRR7S#Y<LC3V%.R8"!X M.KXWU
MG$]MX_G:I6VT=RFNR*["U9]O1P 0[\?]:O]U<1<OU3OQ^&F"^EXI8"AI"=7Q
M\.)L(&R\[L<7;^IPQ5X8CPM[>"SPA426!;"_-,9W+WQ _\UU^R]02P,$%
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
MZT\SFW\(4@.:G9/:)^6.++^5C*/#6UV:#N&#.*';9<2,?C\K)_1-1!>/H%_
M.Z.I=?"SKK!ZB,_8D\6=8G;GIGB2\+=!I[#-+Z#(B\T3?-M%WC;P;?]1'KR1
MKE3&#1;AC^NC(\L%\><3)BX7$Y?!Q.5W1O#?H^$30BE4.2A!"&;@>D.-M22H
MK>E QJ,4COJ"AL^#L(16G7UA2@?',XB^5V>I&Q :T)'DNL6*%WH0"K"N,72!
M)P'KK9"9>8,-;G;>YG9QC*D\X>R0YZ0V(B,/F!HJ#JI%YI&$G>,N+4VCY5<V
M60UVADQNIL!]%#E:BQ@,.'F"+I80^A("+@!<"N "1@R<M@HB5B%80L-./,O3
M+?>&4J'-F?795?K3O''!!*Z/LM4YA0]L_QMQ$ Z8NA>6#7%,O)<?T[L4:JPX
M(@H<"1K(V',\SE:+S0\LGYFL@]YRH*WD1%0#SG@G.12U+(4N \#O35YS=)TS
MI0S)&26US&_*^^=^OE3!$1Y[(0^ )_\<H\5*4-BR#8L*69#I>4!2D,%YJ#RS
M],-21?#D"<]N+(7SQGAR/P^BT?'<<OY5.')FXO^<H/QA@A[)SF:;7CU,#^]L
M_L_/=^2'@\/C:_0_VH#O;2M9?-D*W?!08#H_-0:]ZL-5-MRZ*9_NO*" <UL9
M-D1!)#<\\[?BB]=Z7D6/UO8?M\TU98:F#<;9XASQFB<(2PCZOC6-L]7=UJ%M
MP@WNBV'0%*^Y97?Y2+B.=^/?Q^,7QCMA&\F336'-T#S]\2H!&V_MN"#3AYOR
M:(COW?#8\H<.6G^ W]?&T+SP!I9/I\-?4$L#!!0    ( &N!"5/CSARW7 ,
M %<'   9    >&PO=V]R:W-H965T<R]S:&5E=#(P+GAM;*U5VX[C-@S]%<*8
MAQ8UXGLN@R3 7%IT%UCL8+*7AZ(/BLW8PLJ25Y(G,_WZ4K+CR0 [@P+;AS@4
M11X>DA*U/BK]S32(%AY;(<TF:*SM+J/(E VVS,Q4AY)V#DJWS-)2UY'I-++*
M.[4B2N-X'K6,RV"[]KH[O5VKW@HN\4Z#Z=N6Z:=K%.JX"9+@I+CG=6.=(MJN
M.U;C#NWG[D[3*II0*MZB-%Q)T'C8!%?)Y77N[+W!%XY'<R:#RV2OU#>W>%=M
M@M@10H&E=0B,_A[P!H5P0$3C^X@93"&=X[E\0O_#YTZY[)G!&R6^\LHVFV 9
M0(4'U@M[KXY_XIA/X?!*)8S_PG&PS>( RMY8U8[.Q*#E<OAGCV,=SAR6KSFD
MHT/J>0^!/,M;9MEVK=41M+,F-"?X5+TWD>/2-65G->UR\K/;>WQ V2,P6<%'
MVZ"&=W)H-=5L'5D*X0RC<H2['N#25^#F\$%)VQCX7598O?2/B-K$+SWQNT[?
M!'S?RQED<0AIG"9OX&53OIG'RU[!VV%-1\K"/79*6RYK^.MJ;ZRFT_'W&_#Y
M!)][^/S_*N=/P,&G!N&@!-TKEX=E>X% -]-0?@94K^G2#.XELU@KS=&0O08"
MHI_& =?P1VB'IJ%K&E#)<2JY-R$AAE^X)"_5&]*87R\IND,X;S?L".J%PB-X
M[V?I1FD$HT3O<C!P 6D19O/,"?,PGB<DY*NPR!8D%'&XHJTO3/3X&QC4#[RD
M).9QF.<+*)*P6*60)$FX*A:P*L)%%H]URL*4Y"S,5C',PWR^H.\R+^"3LDQ,
MA;F Y2J,\]@)"0F.13)?4%!'(RDRXK&$CV>EY 9JE*BIHA45F],DX^()#EJU
MXW5%;<"7"N&SY,YL9\G:S.!*"% 'WYE.TUC5]LF7%[_WO/.GDM"%*CWVCR%N
M\8!:D^)T,FY[[9M/IO^QD2$<D=(I52WY/V1UD<R6-%F$\$.2C"ZR63$IB.^8
M>DB"Z=!/4?%$* TO&\*B;G)9BKYZ)EV=6)ZJMF>"2=<Y9ASB+9;8[EV7DG X
M% .Y9/4RR.Q'-S(Z&W94[-J/= .EZJ4=YMZDG5Z-JV%8/IL/3\X'IFM.9U#@
M@5SCV:((0 ]C?%A8U?G1N5>6.NO%AEX^U,Z ]@]*V=/"!9C>TNV_4$L#!!0
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
MOX?:*]#Y3BE[7'@'_9]T^2]02P,$%     @ :X$)4\S%U9C/!0  "!(  !D
M  !X;"]W;W)K<VAE971S+W-H965T,C,N>&ULO5AM;]LV$/XK!Z\88D"M]6K9
M61+ <=JN0P,$2=I]&/:!EL^64$ET22J.]^MWI%[\)BLI]@(D%GDD[XX/[SF>
M=+'FXIN,$14\9VDN+WNQ4JOSP4!&,69,ON,KS&EDP47&%'7%<B!7 MG<+,K2
M@6O;PT'&DKQW=6%D=^+J@A<J37*\$R"++&-B<XTI7U_VG%XMN$^6L=*"P=7%
MBBWQ =67U9V@WJ#1,D\RS&7"<Q"XN.Q-G//K4,\W$[XFN)8[;= [F7'^37<^
MS2][MG8(4XR4UL#H\8133%.MB-SX7NGL-2;UPMUVK?V#V3OM9<8D3GGZ>S)7
M\65OU(,Y+EB1JGN^_A6K_01:7\13:7YA7<X=>CV("JEX5BTF#[(D+Y_LN<)A
M9\'(/K' K1:XQN_2D/'RABEV=2'X&H2>3=ITPVS5K";GDEP?RH,2-)K0.G7U
M*7]"J0AE!0\8%2)1"4I@^1P^L$3 5Y86"+?(9"%0SY)P]LAF*<K^Q4"1?:UE
M$%6VKDM;[@E;0[CEN8HEO,_G.-]?/R"_&^?=VOEKMU/A;T7^#CS; M=VG0Y]
M7@.&9_1Y)_3M;/DFD5'*]:XE_#&9224H?O[LL.$W-GQCPS]AXX%H-2]2!+Z
MR1-+4HWF6V+76\E(NCV$-GP[56O^GLL5B_"R1P25*)ZPMWO <GO 4<JD3!8)
MSH'1<1_[$7'BG50T3GZJ&&'!4R)PDB_U I(1]MA@;P+F!B/,9BC <XS4AK,D
MI[6\D#0L^^<':R89%RKYBTQ,N53P47 IX4M.J24UTH^44N2Q^#/U:0?OI4J(
ME+@7J%,N5ER0%&:<3,(;\,>6[[NZ0?]G8;\2>6.8+#&/-KN@.(XUHKF.9R::
MW@@>A0G^O8F!9[EN ,X(SARG;[J>"X]<L;0-RZ3U"-Z0!=\*[#&UO$![YP;]
M6NJ,6^#\#P [!H$<""W'UG"YVK4SIU_)]!9;P*"AD1\"_?W\T\AUW%^,9.S_
M.!Z>;XT#AQKAL#'L!9;M#J&#>$%#O*"3>"UDVW)#6C#;P#WJ:TS'^)02E68\
MW#*E'=RTL;'37CL;'S63-/Q/&GY#I-<"9#P4C8=1Y6%!&&>5DQ8P@9J?)5GE
M"P1\,<+:0^85<VX*O0G@9&V#3  70%>&"2[;I4.VZU8XTG$VLIQQ6#;<8&A6
MLX4BQQH%*A:\6,;ZB:7(T#4(QN;A.S"TPL#7OZ']3YA8LV\G&E\.P6$3@L-7
MY_X'\H?.=,K2E!XZ?U:A=B+U=VIN#[8;4D>1HK.W3)XA*R]?U)=O2_K6 6#!
M&B%F<]!HE65 UG@%9^LXB6(",4J+.5T1VO6^WLN)>.T(Q ?R9[<8./"GS&'W
M;8GM_B"ME=([P2-$RO@+P;,2V]:1+<:MJ:_.8.VM@*+3;LV!PV:6[U(LC\"E
MH+3K0'P#PST]U1R*=QVT=C<8]O\"QO'%&>R[;%&17SWM%NA<OYE,R9]8[9S$
M:CO3M>R H-I#RO/V[#J>-3;7=VB0ZN!@V' P[.3@-DM9,"'0J**MRELJ=7)"
ME!PUM+EF5 "U,;%3?T?:;PHH90KHZCV(C@]X(6"1Y"R/$IVW2J^RVBNF=JX,
M[2.C:Z#V<J:]_(&2C.Z0%)]0OV:HV)!R]T*".$'!1!1O7K@Z/AL=]=.MGEYU
MC ;C*9,QX/<B(<WZACW7,8X;2BCB&[UL+HHJSBS;LT\23H^U!='8!$T]LWZ6
MTBG/,A0&RA5;T>;K8<\$[WZOI2IHS6;G1Q1I&%^6DP?=8XHTU5%95QYT3Y69
M5'0=[G*OW*3<0M08:HH,?<L=A0?T(8[Y;;7DOW> OA7ZXQ,'6(ZU'F!(,'G'
M)UB*7W\J'3B7)>M!]U0%._:/?-DK8PE+NAYM4YE6JO:!#BW7'K4FJ,'.VSD%
MYM)\@Z!7,%[DJGQ1;Z3-9XY)^7:_G5Y^([EE8JFS?XH+6FJ_"ZD$%>5WA[*C
M^,J\Z\^X4CPSS1C9'(6>0.,+SE7=T0::CS]7?P-02P,$%     @ :X$)4Q1O
MV^@* P  6@<  !D   !X;"]W;W)K<VAE971S+W-H965T,C0N>&ULK57?;]LX
M#/Y7"&,/+6#4OYLF2 *DZ8;;L %%N]MP&/:@V$PLS+9\HMST]M<?)2>^!$B"
M/MR+1<HB/Y*?2$VW2O^B$M' :UTU-/-*8]I)$%!>8BWH1K78\)^UTK4PK.I-
M0*U&43BCN@KB,+P-:B$;;SYU>X]Z/E6=J62#CQJHJVNA_[G'2FUG7N3M-Y[D
MIC1V(YA/6['!9S1_MH^:M6#P4L@:&Y*J 8WKF;>()O>9/>\.?).XI0,9;"8K
MI7Y9Y6,Q\T(;$%:8&^M!\/*"2ZPJZXC#^'OGTQL@K>&AO/?^P>7.N:P$X5)5
MWV5ARIEWYT&!:]%5YDEM_\!=/B[ 7%7DOK#MSXY"#_*.C*IWQAQ!+9M^%:^[
M.AP8W)TSB'<&L8N[!W)1/@@CYE.MMJ#M:?9F!9>JL^;@9&-)>3::_TJV,_.E
M:*41E?R-!3RKM=D*C?" +\Q6R[4WL%1D?&CX>EQ]%:L*Z7H:& :VYD&^ [GO
M0>(S(+?P136F)'C?%%@<VP<<\!!UO(_Z/K[H\%/7W$ 2^A"'<73!7S)4(7'^
MDC/^GI!0Z+P$T11'V?]8K,AHOCH_+Z"D TKJ4-(S*,_<4457(:@U'-9]J>JV
M,Z@' DY5^*)KV[H3:D6.,X][DU"_H'?$+>VY+0ZRRYE;@BWRMB!8JXI;E.!*
M-F!*U1$7@ZXGP,5&5^P'S+%><9Q)Y,/;G/NPT8H(WD$417Z8QBR-;_WQ*(7/
M2#2!19YW=5<)PVY$K;21OX5KUZM1Y-]%HVNXNHW\+,JNWXQH[^H[2,9^'&=6
MR/PT&\,%_K*!O^S_X0\^=*;C97&8T/M7'J1TDMN+L*>YW2$<E0Q[!)X@IN2!
M22U//C *\K?= TF 9&3=<W'^/OS%K>):63:;XSMAN]%2'?I9FEDMAFCDITEL
MY03&?I*-K)@"<SN.X*OBL$[G,!!XBK?@8-[5J#=NJA.GT36F'WW#[O!P+/IY
M^=_Q_M7Y(O1&-@05KMDTO!DQ%[J?Y+UB5.NFYTH9GL5.+/GQ0VT/\/^U4F:O
M6(#A.9W_"U!+ P04    " !K@0E3^=:&'3($   N"@  &0   'AL+W=O<FMS
M:&5E=',O<VAE970R-2YX;6S%5FUOVS80_BL';1AB0(TIZM69;<!)FZY#6P1-
MNF(8]H&6S[90B71)*D[VZW>D',UM;&,#"NR+1%)WS[T\O-.-MTI_-FM$"P]-
M+<TD6%N[N1@.3;G&1IASM4%)7Y9*-\+25J^&9J-1++Q24P\Y8]FP$94,IF-_
M=J.G8]7:NI)XH\&T32/TXR76:CL)HN#IX$.U6EMW,)R.-V*%MV@_;FXT[88]
MRJ)J4)I*2="XG 2SZ.(R=?)>X+<*MV9O#2Z2N5*?W>;-8A(PYQ#66%J'(.AU
MCU=8UPZ(W/BRPPQZDTYQ?_V$?NUCIUCFPN"5JC]5"[N>!$4 "UR*MK8?U/87
MW,7C'2Q5;?P3MIULS@,H6V-5LU,F#YI*=F_QL,O#GD+!CBCPG0+W?G>&O)<O
MA173L59;T$Z:T-S"A^JUR;E*.E)NK::O%>G9Z1MIA5Q5\QIA9@Q:$X*DJW!V
M)^C(#,9#2T:<Z+#< 5YV@/P(8 ;OE+1K Z_D A=?ZP_)N=Y#_N3A)3\)^&LK
MSR%F(7#&HQ-X<1]Q[/'B(WBOE5ILJ[H&(1?P+'QX69FR5J;5"'_,YL9JNC=_
MGC";]&83;S8Y8O:6RFG1DAVUA.M*5A9?O*7[>,"%0SD_C;T'(;HH2D5E8RS!
MDSF[1EBJFNJODBLXJR2=J-90_,0V/I2XL?"(0IO!!5"VL<\VO-;*&+@26C\Z
MU5E9MDU;"X?[GFY)_^&3O_QT.KM'3;4,'PTNVQK>5DL$LO>[0X<K?YU14S$3
M!M6D65<; S\"#XN$T?LL"O.\&- J"EG&(3UGX&ZU*SLHPCAF<,9#SN(!9&'$
M<X@82=QAN9:J5JM'.DWC$9PE83R*!@0;)04D3D2+!34S:G2>=>NV($6#ABP5
M(X(=Q6P HXQYFS="6_G,SZP@.7H,X*<?"A[QGR$FV?=*OBA5LT%+R5]I1.I8
M1$ >)HS$XS!GR0#B,!ME73C*=<J=;6<XIV"B?&?6>EV><HHS20?0G=\I*VI*
MXS<D=Y5*V2M"QY5+7Q(R9X[R1RM"S<YC>(DE-G.*)HX\J^Q_8#5-6<<J'[&#
MK!+Q1>Y839/X&*N4Q,2S6HS^+:MYS"F[8906WYE7'HXR2G02)O$Q7@F/LT.\
MTH>(_T=BHS#+.F*S,$X]L2=Z4MKWI/0[]:00KEOK>N*L4=I6?_GTP:L'F@T,
M'FI8)PV[2>/";$2)DX!&"8/Z'H/ISH+8MX"=!?HIVC719C;T,P>KGN<,*@-H
M;-7X:RS,KN&9K]L=-;CNTM+/R=WP;VLC\M<V9IG;<*(W8ZE;QE3!C)H#+1,H
M8G^6TB*&NS72++2TA$&*>;'C]& 0?5D>HFZX]P^G:EKY2<4U\E;:[G?>G_;#
MT*R; ?X1[R:I=T*O*FF@QB6ILO.<R-#==-)MK-KXB6"N+)6N7ZYIH$/M!.C[
M4BG[M'$&^A%Q^C=02P,$%     @ :X$)4Y"+GGG& @  !@8  !D   !X;"]W
M;W)K<VAE971S+W-H965T,C8N>&UL?53;;MLP#/T5P1N&%C!J6[DY61(@23MT
M PH4;;<]#'N0;28VJHLGR4WZ]Z/DQ,V&)B_6A3R'AY3)Z5;I9U,"6+(37)I9
M4%I;3Z+(Y"4(9JY4#1(M:Z4%LWC4F\C4&ECA08)'-(Z'D6"5#.93?W>OYU/5
M6%Y)N-?$-$(P_;H$KK:S( D.%P_5IK3N(II/:[:!1[#?ZWN-IZAC*2H!TE1*
M$@WK6;!()LN^\_<./RK8FJ,]<9ED2CV[P]=B%L1.$'#(K6-@N+S "CAW1"CC
MSYXSZ$(ZX/'^P/[%YXZY9,S 2O&?56'+69 &I( U:[A]4-M;V.<S<'RYXL9_
MR;;U[:%SWABKQ!Z,"D0EVY7M]G4X J3Q"0#= ZC7W0;R*J^99?.I5ENBG3>R
MN8U/U:-17"7=HSQ:C=8*<7:^R'/=0$%N1,W5*P"YV>%[&S#DXHEE',SE-+(8
MQWE'^9YSV7+2$YQ#<J>D+0VYD044_^(CU->)I >12WJ6\%LCKT@O#@F-:7*&
MK]<EW?-\O1-\*R5<DLS_%P_ F<4*K)2QAOQ:9,9J_%=^GXG3[^+T?9S^B3B/
MV$)%PX&H-3E9Z/?J>Y;6]>G$U"R'68"-:$"_0- ])!SXX?"0N<(6,BY%E&%+
M(&O%L1<KN2$7E<0;U1@F"W,Y(5AH\(6^AAQ$!IKT$E]T]XF['%Y8WM;N(QF'
MZ3C!-0WI:-0Y9$HV+O0HC&F?#,)A+^ULN1*B,JZI#:%A@N@D'(\'G;UFKQH%
M(C89CIT-H_]OLVR'["B:*$Q(HQ>ESC<>C,B3LHQCMY\HQZ</*4WHY[S1&J1%
MY704#N(^;I(T3-,WG:>04LDW\'B8XG=O(>_],M%1;PK0&S^!W*,TTK9MVMUV
M0V[1]O:;>SLA[YC>5%@U#FN$QE>C04!T.W7:@U6U[_1,69P;?EOBH ;M'-"^
M5LH>#BY -_KG?P%02P,$%     @ :X$)4Y;H>NJC!   40L  !D   !X;"]W
M;W)K<VAE971S+W-H965T,C<N>&ULC59M;]LV$/XKA)$/":#8>K<=) :2M,56
MM&C0I!V&81]HZ6P3I4B-I.IDOW['HZS8;>(5L$4>Q7ON_7276VV^V0V 8X^-
M5/9JM'&NO9A,;+6!AMNQ;D'AFY4V#7=(FO7$M@9X34R-G*1Q7$X:+M1H<4EG
M=V9QJ3LGA8([PVS7--P\W8#4VZM1,MH=?!;KC?,'D\5ER]=P#^Y+>V>0F@PH
MM6A 6:$5,["Z&ETG%S>%OT\7O@K8VKT]\Y8LM?[FB=_KJU'L%0()E?,(')?O
M< M2>B!4XY\><S2(](S[^QWZ.[(=;5ER"[=:_B%JM[D:S4:LAA7OI/NLM[]!
M;P\I6&EIZ<FVX6Z.EZO..MWTS*A!(U18^6/OASV&6?P*0]HSI*1W$$1:ON&.
M+RZ-WC+C;R.:WY"IQ(W*">6#<N\,OA7(YQ8? $VR[/2!+R78L\N)0U#_:E+U
M #<!('T%H&0?M7(;R]ZJ&NI#_@DJ,VB4[C2Z28\"ON_4F&5QQ-(X38[@98.%
M&>%EQRW\ZWIIG<$D^/L(9CY@YH29OX)YC[51=Q*87K%;W;1:@7+64R2-O7W$
MHK'PDC>/ OL2O+ MK^!JA#5FP7R'T>)A ZPZD"))"@0I6!N57BOQ+]1,*.;P
M]JW&8."KVN^LEJ+F#HE[ATNS _G4@N&^-"S;@@'&+5MIB56*Z4 XNK-<U?;L
M@CUL#,!!H-F]>#P\\.'RCWAOUXM0ZU[C2EO'3E@2X5M:\\2O:93.I[3.\AG[
MRHWPV;C/D\US_,_9-([9=)ZR!^VX_!&TF)>TSI*$P.8$FD5E'H>XG!N0Y AN
M+: 3T#HF49:0P@GXV0V<_(0)"4-"$L\;J*!9@F%9$@5#?W38P'-P]3J(O3/0
M<E'OXA?TT!@W@Q5O#,9GI^ )*]&J.5DQGZ8_^=/XGG.N5^>=A1U/'D?S6>:%
M%V7"/NR9]^E Q+[AY+TR"=[+BY_D[-\M4)6L]&*2O#P(Q"%B440Y!2!/,!()
M.U)VQ5!VQ2^7W4>A1-,U?<'=\:>0UU\P%TTXM"^5WW$![SK780HT/78PJ]UA
M=X2MM#JON*KP0_*<I2_GRO^5U9_ C66@:N_I'Y,J8:?)&;KO-,<$+L[\44I'
M>>1W2&8].2NHYG(B"TS_W),%YDX^2[!V40N^<HB<E]$44R/$;'74UC*+LKA
M1UI[P433=HZZ"Z( 5MMIDD=Y/#WKH4Y3KV@^BV;S&2EQW(\X2E"7>CIJ/CU3
M>F81E0C9R!&76J/R&BD<6]#M#A3'E$8]C?Y.'8YQ[W(?)HK+23F>HSI28KN+
MV$D\+@^HV3/E!>%)^GR"PEJ@X4$^C<G67W&@4)7L:B!#=R77:D.CR-#!]RO&
M=W%3AQ[^ZQTBV#98P_RO,Z]] &ZX]"YA]WY>L!';;D2U8:$K6N8TJ\ XG.0\
MK(?I<]L'+%SUU@35T3Y4 YU"?$OZ"@&27ND*</%77_%-8" +,5PA&10\.H9?
M@X:^*>.7NL5D;\QIP*QIF+/8_SOEPL0SG [SXG48DYZOAV'S(S=K@1\^"2MD
MC<=3[ LF#'"!<+JEH6FI'8Y@M-W@S O&7\#W*ZW=CO "ABEZ\1]02P,$%
M  @ :X$)4R&)S2ZM P  "@H  !D   !X;"]W;W)K<VAE971S+W-H965T,C@N
M>&ULO5;;;N,V$/V5@5H4-I#5W;:2V@;L;+-M@>T&<9-]*/I 2V.+B$2Z)!4G
M?]\A96N=[5J]8-$7B9>9,[?#(:=[J1YUB6C@N:Z$GGFE,;NK(-!YB373OMRA
MH)V-5#4S-%7;0.\4LL(IU540A^$XJ!D7WGSJUF[5?"H;4W&!MPIT4]=,O2RQ
MDON9%WG'A3N^+8U=".;3'=OB"LW][E;1+.A0"EZCT%P*4+B9>8OH:CFV\D[@
M@>->GXS!1K*6\M%.?BIF7F@=P@IS8Q$8_9[P&JO* I$;?QPPO<ZD53P=']%O
M7.P4RYIIO);51UZ8<N9E'A2X84UE[N3^1SS$,[)XN:RT^\*^E4U''N2--K(^
M*),'-1?MGST?\G"BD(5G%.*#0NS\;@TY+]\RP^93)?>@K#2AV8$+U6F3<US8
MHJR,HEU.>F:^,C)_?+.DN JXEC756C.7KL&O;%VA'DX#0V:L<) ?()<M9'P&
M<@SOI3"EAA]$@<5K_8#<ZWR,CSXNXU[ GQOA0Q)>0!S&40]>TL6<.+SD7,PE
M4_AF[6*^92]$,0,+I9C8HAO_MEAKHX@OO_<82SMCJ3.6GC/6LAWD!ERNX</.
MY7=AZ<C-RY?RVX^X.)X@B\D.,, %Y%*( ]GWW)0@&SI]SJ9T-C70(093(FC^
M#'5;)+1% DHQ=BF^ *Z!6>F*SJR&@6CJ-2IK3MO4:6O,E++13!1Z> 6_=/L?
MW2D@P&[PX6":&H(V),_%UF*3[%O,T>DED;,;0G01C3/X%J+(GTQ@Y(>=]I:J
M8]&^^R:+H_C[[G_<QV=4.;<%'41Q."3=9-)MYDSD=.RQ""C^#?(^H+^Z^2HU
MY&*8.A=C?Q1"XL<]%!EU%!GU4X0Z;=%4:*W=(5&/Y];%EB[W@AO=RY9><-O4
MK_2.Y3CSJ&MK5$_H_3L*W:WN_P?FK-K]CC>+)U1T*\ [6WF@WH9PP[B"!U8U
M"#M2<AJ4GR=*&2F<(U6:)52O+/1I_.Y H^@RA2@-_22$AU9[$(VR(8Q#/\K@
MIF/)((Z&$(4C_S+[W-!K6J27CA1A9HG;0XEQ1XGQ?Z?$8L]4T<^)7O2OP GU
MR:>VP[#6IW]&DZ_07X[T^-ORCVQ=1HF?1EWU;>U3/TFZVB=49"I]DIZ4_O,&
MT5O^L362)OXD_6+Q@Y/[N4:U=:\0ZDNR$::]JKO5[J&S:._W3^+M*^D]4UM.
M?:K"#:F&_H1.OVI?'NW$R)V[[=?2T-O!#4MZK*&R K2_D=(<)]9 ]_R;_PE0
M2P,$%     @ :X$)4SQU8D;< @  ]04  !D   !X;"]W;W)K<VAE971S+W-H
M965T,CDN>&UL?53;;MLP#/T5PNA#BQGUW;D@"=!D&[8!Q8HFZQZ&/2@V$QN5
MI4R2F_;O1\F)FP)M'N)0%,_A3>1D+]6CKA -/#=<Z*E7&;,;!X$N*FR8OI8[
M%'2SD:IAAHYJ&^B=0E8Z4,.#. SSH&&U\&83I[M3LXEL#:\%WBG0;=,P]3)'
M+O=3+_*.BOMZ6QFK"&:3'=OB$LVOW9VB4]"SE'6#0M=2@,+-U+N)QO/4VCN#
MAQKW^D0&F\E:RD=[^%Y.O= &A!P+8QD8_3WA CFW1!3&OP.GU[NTP%/YR/[5
MY4ZYK)G&A>2_Z])44V_H08D;UG)S+_??\)!/9OD*R;7[PKZSS5(/BE8;V1S
M%$%3B^Z?/1_J< (8AA\ X@,@=G%WCER4GYEALXF2>U#6FMBLX%)U: JN%K8I
M2Z/HMB:<F=WC$XH6@8D2?IH*%7P77:MMS2Y7;,U17TT"0[XL(B@.O/..-_Z
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
M28O+'= 8A#'0SS><J_N%.9=6_X>8_P=02P,$%     @ :X$)4YS32#B/ @
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
M0"=FH"]5O$'ZV\Y-*U0?8T4#Z^!VN&6U- :X3<83T:2.["8YT&#F2$9I2^H
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
M\PG.IFJ4_)&O!ML]52LF-.&PQ%"A?X/IJVI85!LC2W<;SJ7!N]4M<YROH"P
MGR^E-+N-#=!,[,%O4$L#!!0    ( &N!"5,,TCY8@P(  'X&   9    >&PO
M=V]R:W-H965T<R]S:&5E=#,Y+GAM;(U56V^;,!3^*Q;:0RMUY19"4Q&D-FFU
M39I4->NF/3IP$JR"S6R3=/WU.S:$LI6T>\&W\WW?N=B'9"_DHRH -'FJ2J[F
M3J%U?>FZ*BN@HNI<U,#Q9"-D134NY=95M02:6U!5NH'G3=V*,NZDB=V[DVDB
M&ETR#G>2J*:JJ/Q]#:78SQW?.6S<LVVAS8:;)C7=P@KT0WTG<>7V+#FK@"LF
M.)&PF3M7_N4B-O;6X#N#O1K,B8ED+<2C67S.YXYG'((2,FT8* X[6$!9&B)T
MXU?'Z?22!CB<']AO;>P8RYHJ6(CR!\MU,7<N')+#AC:EOA?[3]#%$QF^3)3*
M?LF^L_4<DC5*BZH#HP<5X^U(G[H\# #^Y @@Z #!_P+"#A#:0%O/;%A+JFF:
M2+$GTE@CFYG8W%@T1L.XJ>)*2SQEB-/I@M9,TY(]0TY68J/W5 )9P@[+6V.Q
M-%D(I<\(Q_OTD0R-%Z*J&PWR!77;Z :'JTI(S9ZIK=+-$UXW!>1D"9JR4ITB
MR\-J24X^G)(/A''RK1"-HCQ7B:LQ'..4FW6N7[>N!T=<_]+P<Q)Z9R3P G\$
MOG@;OH0,X;Z%>W_#74QBG\F@SV1@^<(C?#^!2D5N>,[X%C.80;7&[*# &]QA
MSQU:[LD1[B,17K>HJ469][I+?2^:1(F[&Q&;]&*3]\2",;$6%0W%XDD8C(M%
MO5CTGE@X)A:]$IN%43RN->VUIN]I3<:TIJ\#NYCYXUIQKQ6_J35\*NKP0O+!
MN\KP72G[L,9<BE\5-IP%P4MAVPL^8H75G_WCN3OH#J8S?Z5RR[@B)6P0YYW'
M&+ELNUV[T**V#6,M-+8?.RWP!P'2&.#Y1@A]6)@>U/]RTC]02P,$%     @
M:X$)4YE[UT:>!P  XC,  !D   !X;"]W;W)K<VAE971S+W-H965T-# N>&UL
MO5MK;]LV%/TKA%<,+=#4XE-VE@3(2UN'=@B:/C ,^Z#8M"U4#T^BDV;8CQ\E
M*Z8E4I3M*/J2V/*YESRB> [%*YT\).GW;,&Y #^B,,Y.!PLAEL?#8399\,C/
MWB5+'LM?9DD:^4)^3>?#;)ER?UH$1>$0.0X;1GX0#\Y.BF,WZ=E)LA)A$/.;
M%&2K*/+3QPL>)@^G SAX.O IF"]$?F!X=K+TY_R6BR_+FU1^&VZR3(.(QUF0
MQ"#EL]/!.3SV7)('%(BO 7_(MCZ#G,I=DGS/O[R?G@Z<O$<\Y!.1I_#EOWM^
MR<,PSR3[\4^9=+!I,P_<_OR4W2O(2S)W?L8OD_!;,!6+T\%H *9\YJ]"\2EY
M^(V7A&B>;Y*$6?$7/)189P FJTPD41DL>Q %\?J__Z,\$5L!,H\Y )4!J!Y
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
M('^?)8EX^I(WL'FMY^Q_4$L#!!0    ( &N!"5-[KXJQN0(  '\'   9
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
M"S$AV=R9S42+TEX[*Z'Q$K/###\S($T [J^%T+N)N<FZ#U?\"U!+ P04
M" !K@0E3UWF,>1H"  !&!@  &0   'AL+W=O<FMS:&5E=',O<VAE970T-"YX
M;6RU55UKVS 4_2O"3QMDD>U\%\>P-(QUM".T='L8>U"<FUA4'YXDS^F_KR0[
M(H/&&XR^V+K2/>>>>RRNLT:J)UT"&'3D3.AE5!I376&LBQ(XT4-9@; G>ZDX
M,394!ZPK!63G09SA-(ZGF!,JHCSS>QN59[(VC K8**1KSHEZ7@&3S3)*HM/&
M/3V4QFW@/*O( 1[ /%8;92,<6':4@]!4"J1@OXP^)E>KA<OW"=\H-/ILC5PG
M6RF?7'"S6T:Q$P0,"N,8B'W]AFM@S!%9&;\ZSBB4=,#S]8G]D^_=]K(E&JXE
M^TYWIEQ&\PCM8$]J9NYE\QFZ?B:.KY!,^R=JVMQQ'*&BUD;R#FP5<"K:-SEV
M/IP!DO$%0-H!4J^[+>15KHDA>:9D@Y3+MFQNX5OU:"N."O=1'HRRI]3B3'X+
MMB6-/J"O1"GB'$+OUF (9?I]AHVMX/)PT;&M6K;T MN76@S1*!Z@-$Z3/^'8
M"@OJTJ N]7RCB^JT!A@@KW* UJ +12O_.7_<VEQT8X#KGSV51J'2R%<:]_E@
M;YF AC!D0/'7NN_G2&+T#$3I'CGC(&?<2W5'!>4U[V&:!*;)&ULX#96F_V#A
M)>OZL8EWKD?$+(B8]1M'CG\Q;AZ8YF]LW")46OR'<?W8)+E\Y_#96' 3]HZH
M Q4:,=A;KG@XLS='M5.K#8RL_*382F/GCE^6=M"#<@GV?"^E.05N^(1?1_X"
M4$L#!!0    ( &N!"5,"&DZ>Q@(  &@(   9    >&PO=V]R:W-H965T<R]S
M:&5E=#0U+GAM;*5676^;,!3]*Q;J0RMMY3,TJ1*DYF/:IE6KFK9[F/;@!"=8
M-3:S3=/]^UT;PE)"6;6]@&W..?>>:\-EO!/R466$:/2<,ZXF3J9U<>FZ:IV1
M'*MS41 .3S9"YEC#5&Y=54B"4TO*F1MX7NSFF'(G&=NU&YF,1:D9Y>1&(E7F
M.9:_IH2)W<3QG?W"+=UFVBRXR;C 6[(D^KZXD3!S&Y64YH0K*CB29#-QKOS+
M16SP%O! R4X=C)%QLA+BT4P^I1/',PD11M;:*&"X/9$98<P(01H_:TVG"6F(
MA^.]^@?K';RLL"(SP;[15&<39^B@E&QPR?2MV'TDM9^!T5L+INP5[6JLYZ!U
MJ;3(:S)DD%->W?%S78<# NAT$X*:$+0)T2N$L":$;XT0U83HK1$&-<%:=ROO
MMG!SK'$REF*'I$&#FAG8ZELVU(MR<TZ66L)3"CR=?"%0987>HR6<P+1D!(D-
MFHF\$)QPK<S,0M#B&8XFW$_G1&/*U!EP[I=S='IRADX0Y>@N$Z7"/%5C5T-B
M1MY=UTE,JR2"5Y((T;7@.E-HP5.2=O#G_?RXA^]"09JJ!/NJ3(->P<\E/T>A
M]PX%7N!WY#-[.]WKLO-_T1?_'/U%,<+FB(16+^P_(M^O5DI+>+%_]&A&C69D
M-:-7-+\61&)-^18Q>[K60NFN<U.IQ%;%?/*>$A]<C=VGP\WH $5^"S0_!@7!
MZ.(E:-$!&D;#!O3"ZJ"Q.NBU^H EQ2MXL?J=5B*#@]#A*&H9[<*,6CZ/,1>>
MU[+9@1D%W2[CQF7<Z_).:,S^8C$^WJ?!*&YY[  -?;]E\A@4C(XV\Q@4QI'7
MLND>?#IS(K>V9RFP4')=O2+-:M,6KVPW:*U/_<N9W[$^AS9:=;T_\E4/OL9R
M2[F"HFT@E'=^ 1LBJ[Y63;0H[(=[)32T 3O,X%> 2 . YQLA]'YB C0_%\EO
M4$L#!!0    ( &N!"5-.C(/>ZP(  &4(   9    >&PO=V]R:W-H965T<R]S
M:&5E=#0V+GAM;*V674_;,!2&_XH5[0*D0M)\M4%M)6A!V\2TBL)V@;APF]/&
MPK$SVZ'EW\]V0E9H6D#:36,GYWW[G&,[)X,U%X\R U!HDU,FATZF5''FNG*1
M08[E*2^ Z2=++G*L]%2L7%D(P*D5Y=3U/2]V<TR8,QK8>U,Q&O!24<)@*I L
M\QR+YPN@?#UTNL[+C1NRRI2YX8X&!5[!#-1=,15ZYC8N*<F!2<(9$K <.N?=
MLW'?Q-N 7P36<FN,3"9SSA_-Y%LZ=#P#!!06RCA@?7F",5!JC#3&G]K3:?[2
M"+?'+^Y7-G>=RQQ+&'/ZFZ0J&SI]!Z6PQ"55-WS]%>I\(N.WX%3:7[2N8ST'
M+4JI>%Z+-4%.6'7%F[H.6P(_WB/P:X'_44%0"P*;:$5FTYI@A4<#P==(F&CM
M9@:V-E:MLR',K.),"?V4:)T:78.N@40GR [0#5"L($7G4H*2"+,471,\)Y0H
MHL..)J PH?)8"^YF$W3TY1A]082AVXR74D?+@:LTE?%V%S7!147@[R'X7K)3
M%'@=Y'M^MT4^/BR?P$++NU;NO9:[NA9-0?RF(+[U"PX7Y/Y\+I70F^SA@&?0
M> ;6,]SC.1508)(BV.C#9]Q-7;G*0.@E%@*80M@6O*UZE75LK<V9?!K%49(,
MW*?M&NT&!4G/;X)>48<-=7B0^F<! BO"5HC:O2',B3CARY-23_;S5J;1%DKH
M)?W@#?!N5.!%<;>=.&J(H\/$KTI*_VW<-LYHAZ"[#5!AM@3UPZB=,FXHXT_5
M]1W.> <A"I(@?@.Z&Q5ZW3!N)^TUI+V#I+=<8?HQRM[.!HRB,.F]H=R-"KM)
MLF?5^PUE_X/UM&>WT[RQGCMH7.V%#IHI_5[+S;;@2W1%&&8+HG.;<DEL.[F_
MW"C3F^84T"4K<VO)V4-;KN_@?&(3CO^+554U=ZL)F ;\ XL585(OWU*;>Z<]
MO3E$U=2JB>*%[0MSKG27L<-,?P> , 'Z^9)S]3(QK:;YLAC]!5!+ P04
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
MQF^;6!$S J!-C'ZDD0#<$_7>=?\/_LTJZ#8_R2-  D3;-GEW&A<)5:U' @Q
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
MU*?_K/YB,Z+^^"/'%[UY_"BGJF!"-1+0]\N9TM+\PS_V2,2]1.PDXOT2VDC
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
M:%0*CMQC)8QQ8K3^-8+)#^Q^ %!+ P04    " !K@0E3<'C:VG0$  #()
M#P   'AL+W=O<FMB;V]K+GAM;,6:VV[;.!! ?X704Q;8K*V;TP9U@:9N=PUT
MT\ J^KI@I+%-1"(%DLJE7[^D5+?D)A[LR]1/ULW2T8CD&8[TYD'INUNE[MAC
MUTJS3/;6]I>SF:GWT''SA^I!NCU;I3MNW:K>S4RO@3=F#V"[=I;-YXM9QX5,
MWKXYG.M&S\(59:&V0DFWT6_X*N#!_-SO5]F],.)6M,(^+9-QN86$=4**3GR#
M9IG,$V;VZN$OI<4W)2UOJUJKMETFZ;3C*V@KZF>;*P_YA=^:<8OEMQON0);)
M8NY.N!7:V/&(\?S<,=Z#.WA:&ZSZ*%H+>L4M_*G5T NY\Z=Q=S$+;F.,P^%W
M"N*E_C]A5-NMJ&&EZJ$#::<X:F@]H#1[T9N$2=[!,GFO[D&S&[X#?U/N*NMF
MND'KR()PZ4OA=NAU,S)2\L@&I(&&N26C6M$XCH9=\9;+&E@ F2&0V0DA_\D"
MR!R!S$\"67D<]]< LD @BQ-"1I$L$<CRE)!Y +E (!>GA"P"R L$\H(6\IK;
M00-36W8U&"'!F(#K%<+UBI:K&KJ.ZR</5HF=%.YO7%KVKJ[5(*T((%\CD*]I
M(5?.(,8*'\$P;.D<&ZWGM$QKZ9G\0:R">M#""C",RX9]Y$*'PW6*2H7:*KP7
MSNM>]ZQ26_O 72M<P3VTJH_'PA332DKLE;5+/N3.7Y2],\:9_W<FP89TF$]2
M8J&XWJ '%\ /7=^J)P#VX;'W(T[4&#&7I,0R^03\/S28-%)R:W2=&+O&U"'<
ML&Q=E@>R%C$D)HV4V!K5WO>$#?2#KO<N>LPEU#O-NY /\T5*+(S*JOKN_(I/
M7NM\>QL/"ODP;Z3$XEC+6G7 OO#'^)EBFDB)/;%QXYH<8&QTG^W>I?=K.9TH
M#ER&B2,C%@=JW"CQRS!Q9,3BP#'#U"]#YR/DXD T'$<3,TA&/27!-!QC8A[)
MB#WRLH;9F9N^MV!^"S$QP63$@CGJXXDTQ,04DQ$K9K+RB]'#S)*=R"S?04-,
M3# 9L6#0P9R=A9B8<S)BY^#C9#C[S#'KY,36":=0[)Q=<ZVY+\RQLQ58'L[S
M<LPZ.;%U\.$\M$Z.62<_J76BAX[6P8BM@V.6(29FG9S<.ACF(L3$K),36P?'
MO @Q,>ODU.4P--6(NA!FH9S80CAFU(4P"^7$%L(QHRZ$62@GMM"1Q.V<5>[D
MS1"6O#$+%>1%,P0S2H,+S$(%L860_-+;,L3$+%006^@XYBCX$!.S4$%LH>]I
M\/.DHXURX@)]&?-+"F@_^DL[5NI]<JRD+V.%F)B""F(%_< <%]C&'^,:P-27
M6-0P,045OV;B$T?S;__:>>@<>HB)*:B@5A!6IXQF& 6FH(+Z%<V12N7SU+W
M%%103X2.32M=,W"[PA>:F()*ZO+;<<R-2^]"3$Q!)77Y#<.,7P]C"BJ)%81C
MALEFB2FH))\(_2Q6ORB?$I-/22P?M-(1/VOT6X!1/K/#ES,-;(6$YMI=PKCM
M-6_K&\W\S_2VKRA]K7X[M.U[M^VS_*1X<_@0Y_ 1T=M_ 5!+ P04    " !K
M@0E3O '6P> !  #L(   &@   'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QS
MS=H[3L- %(7AK41> )/[F/!00D5#B]B %28/D<269Q#)[HE"$8Y%08/F5-;8
M\O7?^)-E>_Z2=FW9=H>\V?9Y<MSO#GG1;$KI'T+(RTW:M_FFZ]/A?&35#?NV
MG)?#.O3M\KU=IZ#3Z2P,/V<TC_.?,R>OIS[]96*W6FV7Z:E;?NS3H?PR.'QV
MPWO>I%2:R6L[K%-9-.&XN^[.X;*1F_/D9O+\MFB&YS=I0NT@A2"M'V009/6#
M'(*\?E"$H%@_: 9!L_I!MQ!T6S_H#H+NZ@?=0]!]_2"9HHQ3@J01U@1:"W(M
M!%X+@BT$8@N2+01F"Z(M!&H+LBT$;@O"+01R"](M!'8+XBT$>BOJK01Z*^JM
M!'KKZ&&;0&]%O95 ;T6]E4!O1;V50&]%O95 ;T6]E4!O1;V50&]%O95 ;T.]
MC4!O0[V-0&]#O8U ;QN]+"'0VU!O(]#;4&\CT-M0;R/0VU!O(]#;4&\CT-M0
M;R/0VU%O)]#;46\GT-M1;R?0VU%O)]#;1R^["?1VU-L)]';4VPGT=M3;"?1V
MU-L)]';4VPGTCJAW)- [HMZ10.^(>D<"O2/J'0GTCJAW)- [CCY6_J?>N9QV
M*5][OM=X_?^DNIS/3=?+7Y;?.T<WU 7G #\W/'X!4$L#!!0    ( &N!"5,4
MU''DT $  *T@   3    6T-O;G1E;G1?5'EP97-=+GAM;,W:R6[",!0%T%]!
MV5;$> @=!&S:;EL6_0$W>4!$$ENVH?#W=<(@M:*HB$J]&R)B^]T76SJ;9/2V
MM>1[F[IJ_#A9A& ?&//Y@FKM4V.IB2,SXVH=XE\W9U;G2STG)@:#(<M-$Z@)
M_=#62":C)YKI515ZSYMXVY>F&2>.*I_T'G<3VZQQHJVMRER'.,[63?$MI;]/
M2./*;HY?E-;?Q D).YG0COP<L%_WNB;GRH)Z4^W"BZ[C++:IF _;BGQZOL2)
M'LUL5N94F'Q5QR6IMXYTX1=$H:[27=&;\\DA[C#M?OG5^5V9<X%QYM09Z^.)
M.;H\[G D[>J^C87(A?+\(QX38^FKGX_:TRZH^&5VW-X/XY;=>7C67:[?XZ]G
M?*Q_81\"I \)TH<"Z2,#Z6,(TL<M2!]W('W<@_3!!RB-H(C*44CE**9R%%0Y
MBJH<A56.XBI'@96CR"I09!4HL@H4606*K )%5H$BJT"15:#(*E!D%2BR2A19
M)8JL$D56B2*K1)%5HL@J4625*+)*%%DEBJP*15:%(JM"D56AR*I09%4HLBH4
M616*K I%5H4B:X8B:X8B:X8B:X8B:X8B:_:?LKX;L_SK%^CM-:UUV1SR6?>5
MPN034$L! A0#%     @ :X$)4P=!36*!    L0   !               ( !
M     &1O8U!R;W!S+V%P<"YX;6Q02P$"% ,4    " !K@0E3X_N7X^X    K
M @  $0              @ &O    9&]C4')O<',O8V]R92YX;6Q02P$"% ,4
M    " !K@0E3F5R<(Q &  "<)P  $P              @ ', 0  >&PO=&AE
M;64O=&AE;64Q+GAM;%!+ 0(4 Q0    ( &N!"5.)-TZ"?04  (<7   8
M          " @0T(  !X;"]W;W)K<VAE971S+W-H965T,2YX;6Q02P$"% ,4
M    " !K@0E3YHZ+;1X'  "<'@  &               @(' #0  >&PO=V]R
M:W-H965T<R]S:&5E=#(N>&UL4$L! A0#%     @ :X$)4UWKUDY! P  R0T
M !@              ("!%!4  'AL+W=O<FMS:&5E=',O<VAE970S+GAM;%!+
M 0(4 Q0    ( &N!"5-C3Y>_U 4  +87   8              " @8L8  !X
M;"]W;W)K<VAE971S+W-H965T-"YX;6Q02P$"% ,4    " !K@0E3/HN@+?\"
M   3"0  &               @(&5'@  >&PO=V]R:W-H965T<R]S:&5E=#4N
M>&UL4$L! A0#%     @ :X$)4_(]K0FK"0  X3T  !@              ("!
MRB$  'AL+W=O<FMS:&5E=',O<VAE970V+GAM;%!+ 0(4 Q0    ( &N!"5.&
M\/W=' @  'XC   8              " @:LK  !X;"]W;W)K<VAE971S+W-H
M965T-RYX;6Q02P$"% ,4    " !K@0E3-.:98*X%  !7#0  &
M    @('],P  >&PO=V]R:W-H965T<R]S:&5E=#@N>&UL4$L! A0#%     @
M:X$)4Z;G&#;S#0  >R@  !@              ("!X3D  'AL+W=O<FMS:&5E
M=',O<VAE970Y+GAM;%!+ 0(4 Q0    ( &N!"5/)75U??P0  & *   9
M          " @0I(  !X;"]W;W)K<VAE971S+W-H965T,3 N>&UL4$L! A0#
M%     @ :X$)4Z086JPV"0  S1L  !D              ("!P$P  'AL+W=O
M<FMS:&5E=',O<VAE970Q,2YX;6Q02P$"% ,4    " !K@0E36LEA8SD#  "R
M"   &0              @($M5@  >&PO=V]R:W-H965T<R]S:&5E=#$R+GAM
M;%!+ 0(4 Q0    ( &N!"5-L>F*C/P0  $T*   9              " @9U9
M  !X;"]W;W)K<VAE971S+W-H965T,3,N>&UL4$L! A0#%     @ :X$)4T=E
M;@ZT!0  ?PT  !D              ("!$UX  'AL+W=O<FMS:&5E=',O<VAE
M970Q-"YX;6Q02P$"% ,4    " !K@0E3=HCK (H$  #,"@  &0
M    @('^8P  >&PO=V]R:W-H965T<R]S:&5E=#$U+GAM;%!+ 0(4 Q0    (
M &N!"5/0];C#C 0  )\*   9              " @;]H  !X;"]W;W)K<VAE
M971S+W-H965T,38N>&UL4$L! A0#%     @ :X$)4PP+M$CC P  U@@  !D
M             ("!@FT  'AL+W=O<FMS:&5E=',O<VAE970Q-RYX;6Q02P$"
M% ,4    " !K@0E3F/+ABHT(  "-'   &0              @(&<<0  >&PO
M=V]R:W-H965T<R]S:&5E=#$X+GAM;%!+ 0(4 Q0    ( &N!"5.[8+**B@,
M $8)   9              " @6!Z  !X;"]W;W)K<VAE971S+W-H965T,3DN
M>&UL4$L! A0#%     @ :X$)4^/.'+=< P  5P<  !D              ("!
M(7X  'AL+W=O<FMS:&5E=',O<VAE970R,"YX;6Q02P$"% ,4    " !K@0E3
MJAS:-B(,  " (P  &0              @(&T@0  >&PO=V]R:W-H965T<R]S
M:&5E=#(Q+GAM;%!+ 0(4 Q0    ( &N!"5, :M#?+ ,  %4'   9
M      " @0V.  !X;"]W;W)K<VAE971S+W-H965T,C(N>&UL4$L! A0#%
M  @ :X$)4\S%U9C/!0  "!(  !D              ("!<)$  'AL+W=O<FMS
M:&5E=',O<VAE970R,RYX;6Q02P$"% ,4    " !K@0E3%&_;Z H#  !:!P
M&0              @(%VEP  >&PO=V]R:W-H965T<R]S:&5E=#(T+GAM;%!+
M 0(4 Q0    ( &N!"5/YUH8=,@0  "X*   9              " @;>:  !X
M;"]W;W)K<VAE971S+W-H965T,C4N>&UL4$L! A0#%     @ :X$)4Y"+GGG&
M @  !@8  !D              ("!()\  'AL+W=O<FMS:&5E=',O<VAE970R
M-BYX;6Q02P$"% ,4    " !K@0E3ENAZZJ,$  !1"P  &0
M@($=H@  >&PO=V]R:W-H965T<R]S:&5E=#(W+GAM;%!+ 0(4 Q0    ( &N!
M"5,AB<TNK0,   H*   9              " @?>F  !X;"]W;W)K<VAE971S
M+W-H965T,C@N>&UL4$L! A0#%     @ :X$)4SQU8D;< @  ]04  !D
M         ("!VZH  'AL+W=O<FMS:&5E=',O<VAE970R.2YX;6Q02P$"% ,4
M    " !K@0E3M374IOD#  #S#0  &0              @('NK0  >&PO=V]R
M:W-H965T<R]S:&5E=#,P+GAM;%!+ 0(4 Q0    ( &N!"5.Y[A/$AP,  %$+
M   9              " @1ZR  !X;"]W;W)K<VAE971S+W-H965T,S$N>&UL
M4$L! A0#%     @ :X$)4WK8V]31 P  DQ   !D              ("!W+4
M 'AL+W=O<FMS:&5E=',O<VAE970S,BYX;6Q02P$"% ,4    " !K@0E3G--(
M.(\"  !:!@  &0              @('DN0  >&PO=V]R:W-H965T<R]S:&5E
M=#,S+GAM;%!+ 0(4 Q0    ( &N!"5.IG,/#Z (  )P(   9
M  " @:J\  !X;"]W;W)K<VAE971S+W-H965T,S0N>&UL4$L! A0#%     @
M:X$)4YGGE@QN!   .1,  !D              ("!R;\  'AL+W=O<FMS:&5E
M=',O<VAE970S-2YX;6Q02P$"% ,4    " !K@0E3.DEVGW &   1.   &0
M            @(%NQ   >&PO=V]R:W-H965T<R]S:&5E=#,V+GAM;%!+ 0(4
M Q0    ( &N!"5-=)=4\? (  "8&   9              " @17+  !X;"]W
M;W)K<VAE971S+W-H965T,S<N>&UL4$L! A0#%     @ :X$)4V*RS6>T @
MO0<  !D              ("!R,T  'AL+W=O<FMS:&5E=',O<VAE970S."YX
M;6Q02P$"% ,4    " !K@0E3#-(^6(,"  !^!@  &0              @(&S
MT   >&PO=V]R:W-H965T<R]S:&5E=#,Y+GAM;%!+ 0(4 Q0    ( &N!"5.9
M>]=&G@<  .(S   9              " @6W3  !X;"]W;W)K<VAE971S+W-H
M965T-# N>&UL4$L! A0#%     @ :X$)4WNOBK&Y @  ?P<  !D
M     ("!0ML  'AL+W=O<FMS:&5E=',O<VAE970T,2YX;6Q02P$"% ,4
M" !K@0E35LU25]8"  !A"   &0              @($RW@  >&PO=V]R:W-H
M965T<R]S:&5E=#0R+GAM;%!+ 0(4 Q0    ( &N!"5,2V: 6?P(  ,0&   9
M              " @3_A  !X;"]W;W)K<VAE971S+W-H965T-#,N>&UL4$L!
M A0#%     @ :X$)4]=YC'D: @  1@8  !D              ("!]>,  'AL
M+W=O<FMS:&5E=',O<VAE970T-"YX;6Q02P$"% ,4    " !K@0E3 AI.GL8"
M  !H"   &0              @(%&Y@  >&PO=V]R:W-H965T<R]S:&5E=#0U
M+GAM;%!+ 0(4 Q0    ( &N!"5-.C(/>ZP(  &4(   9              "
M@4/I  !X;"]W;W)K<VAE971S+W-H965T-#8N>&UL4$L! A0#%     @ :X$)
M4UHT#*&S P  QPP  !D              ("!9>P  'AL+W=O<FMS:&5E=',O
M<VAE970T-RYX;6Q02P$"% ,4    " !K@0E33N77>PP#  "U"   &0
M        @(%/\   >&PO=V]R:W-H965T<R]S:&5E=#0X+GAM;%!+ 0(4 Q0
M   ( &N!"5,3^(,'>0(   \&   9              " @9+S  !X;"]W;W)K
M<VAE971S+W-H965T-#DN>&UL4$L! A0#%     @ :X$)4_;';Y.J P  A@T
M !D              ("!0O8  'AL+W=O<FMS:&5E=',O<VAE970U,"YX;6Q0
M2P$"% ,4    " !K@0E3<U/7?3H#  !T"@  &0              @($C^@
M>&PO=V]R:W-H965T<R]S:&5E=#4Q+GAM;%!+ 0(4 Q0    ( &N!"5.=N1I\
M*@<  $(S   9              " @93]  !X;"]W;W)K<VAE971S+W-H965T
M-3(N>&UL4$L! A0#%     @ :X$)4^!9>? @!   7@\  !D
M ("!]00! 'AL+W=O<FMS:&5E=',O<VAE970U,RYX;6Q02P$"% ,4    " !K
M@0E32;;F0(P"   W!P  &0              @(%,"0$ >&PO=V]R:W-H965T
M<R]S:&5E=#4T+GAM;%!+ 0(4 Q0    ( &N!"5-C>U,@6P,  "<,   9
M          " @0\, 0!X;"]W;W)K<VAE971S+W-H965T-34N>&UL4$L! A0#
M%     @ :X$)4PY<R8\K P  #A,   T              ( !H0\! 'AL+W-T
M>6QE<RYX;6Q02P$"% ,4    " !K@0E3EXJ[',     3 @  "P
M    @ 'W$@$ 7W)E;',O+G)E;'-02P$"% ,4    " !K@0E3<'C:VG0$  #(
M)   #P              @ '@$P$ >&PO=V]R:V)O;VLN>&UL4$L! A0#%
M  @ :X$)4[P!UL'@ 0  ["   !H              ( !@1@! 'AL+U]R96QS
M+W=O<FMB;V]K+GAM;"YR96QS4$L! A0#%     @ :X$)4Q34<>30 0  K2
M !,              ( !F1H! %M#;VYT96YT7U1Y<&5S72YX;6Q02P4&
/ #\ /P P$0  FAP!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// 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)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* 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;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.21.2</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>228</ContextCount>
  <ElementCount>350</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>50</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>5</UnitCount>
  <MyReports>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>0001001 - Document - Cover Page</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/CoverPage</Role>
      <ShortName>Cover Page</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>1001002 - Statement - Condensed Consolidated Balance Sheets (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited</Role>
      <ShortName>Condensed Consolidated Balance Sheets (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>1002003 - Statement - Condensed Consolidated Balance Sheets (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>Condensed Consolidated Balance Sheets (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>1003004 - Statement - Condensed Consolidated Statements of Operations (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited</Role>
      <ShortName>Condensed Consolidated Statements of Operations (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>1004005 - Statement - Condensed Consolidated Statements of Comprehensive Income (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited</Role>
      <ShortName>Condensed Consolidated Statements of Comprehensive Income (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>1005006 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited</Role>
      <ShortName>Condensed Consolidated Statements of Stockholders' Equity (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>1006007 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited</Role>
      <ShortName>Condensed Consolidated Statements of Cash Flows (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>2101101 - Disclosure - Nature of Business</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/NatureofBusiness</Role>
      <ShortName>Nature of Business</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>2102102 - Disclosure - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/SummaryofSignificantAccountingPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>2106103 - Disclosure - Divestitures</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/Divestitures</Role>
      <ShortName>Divestitures</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>2108104 - Disclosure - Investment Securities and Fair Value Measurements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurements</Role>
      <ShortName>Investment Securities and Fair Value Measurements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>2115105 - Disclosure - Capitalized Software Development Cost, net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnet</Role>
      <ShortName>Capitalized Software Development Cost, net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>2120106 - Disclosure - Intangible Assets, net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/IntangibleAssetsnet</Role>
      <ShortName>Intangible Assets, net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>2124107 - Disclosure - Accrued Employee Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/AccruedEmployeeExpenses</Role>
      <ShortName>Accrued Employee Expenses</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>2128108 - Disclosure - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/Leases</Role>
      <ShortName>Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>2134109 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/CommitmentsandContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>2136110 - Disclosure - Share Repurchase Program</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/ShareRepurchaseProgram</Role>
      <ShortName>Share Repurchase Program</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>2138111 - Disclosure - Stock-Based Compensation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/StockBasedCompensation</Role>
      <ShortName>Stock-Based Compensation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>2144112 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/IncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>2146113 - Disclosure - Revenue and Other Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/RevenueandOtherInformation</Role>
      <ShortName>Revenue and Other Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>2203201 - Disclosure - Summary of Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/SummaryofSignificantAccountingPolicies</ParentRole>
      <Position>21</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>2304301 - Disclosure - Summary of Significant Accounting Policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesTables</Role>
      <ShortName>Summary of Significant Accounting Policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/SummaryofSignificantAccountingPolicies</ParentRole>
      <Position>22</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>2309302 - Disclosure - Investment Securities and Fair Value Measurements (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables</Role>
      <ShortName>Investment Securities and Fair Value Measurements (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurements</ParentRole>
      <Position>23</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>2316303 - Disclosure - Capitalized Software Development Cost, net (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetTables</Role>
      <ShortName>Capitalized Software Development Cost, net (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnet</ParentRole>
      <Position>24</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>2321304 - Disclosure - Intangible Assets, net (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/IntangibleAssetsnetTables</Role>
      <ShortName>Intangible Assets, net (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/IntangibleAssetsnet</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>2325305 - Disclosure - Accrued Employee Expenses (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/AccruedEmployeeExpensesTables</Role>
      <ShortName>Accrued Employee Expenses (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/AccruedEmployeeExpenses</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>2329306 - Disclosure - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/LeasesTables</Role>
      <ShortName>Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/Leases</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>2339307 - Disclosure - Stock-Based Compensation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/StockBasedCompensationTables</Role>
      <ShortName>Stock-Based Compensation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/StockBasedCompensation</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>2347308 - Disclosure - Revenue and Other Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/RevenueandOtherInformationTables</Role>
      <ShortName>Revenue and Other Information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/RevenueandOtherInformation</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>2405401 - Disclosure - Summary of Significant Accounting Policies - Net Income per Share Schedule of Weighted Average Number of Shares (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Net Income per Share Schedule of Weighted Average Number of Shares (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>30</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>2407402 - Disclosure - Divestitures - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/DivestituresNarrativeDetails</Role>
      <ShortName>Divestitures - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>31</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>2410403 - Disclosure - Investment Securities and Fair Value Measurements - Schedule of Available-for-sale Securities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails</Role>
      <ShortName>Investment Securities and Fair Value Measurements - Schedule of Available-for-sale Securities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>32</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>2411404 - Disclosure - Investment Securities and Fair Value Measurements - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails</Role>
      <ShortName>Investment Securities and Fair Value Measurements - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>2412405 - Disclosure - Investment Securities and Fair Value Measurements - Available-for-sale Investments, by Remaining Contract Maturity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails</Role>
      <ShortName>Investment Securities and Fair Value Measurements - Available-for-sale Investments, by Remaining Contract Maturity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>34</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>2413406 - Disclosure - Investment Securities and Fair Value Measurements - Schedule of Sales, Calls and Maturities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails</Role>
      <ShortName>Investment Securities and Fair Value Measurements - Schedule of Sales, Calls and Maturities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>2414407 - Disclosure - Investment Securities and Fair Value Measurements - Fair Value, Assets Measured on Recurring Basis (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails</Role>
      <ShortName>Investment Securities and Fair Value Measurements - Fair Value, Assets Measured on Recurring Basis (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>36</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>2417408 - Disclosure - Capitalized Software Development Cost, net - Capitalized Computer Software (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareDetails</Role>
      <ShortName>Capitalized Software Development Cost, net - Capitalized Computer Software (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>37</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>2418409 - Disclosure - Capitalized Software Development Cost, net - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetNarrativeDetails</Role>
      <ShortName>Capitalized Software Development Cost, net - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>2419410 - Disclosure - Capitalized Software Development Cost, net - Capitalized Computer Software Future Amortization Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails</Role>
      <ShortName>Capitalized Software Development Cost, net - Capitalized Computer Software Future Amortization Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>2422411 - Disclosure - Intangible Assets, net - Schedule of Finite-Lived Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails</Role>
      <ShortName>Intangible Assets, net - Schedule of Finite-Lived Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>2423412 - Disclosure - Intangible Assets, net - Schedule of Finite-Lived Intangible Assets, Future Amortization Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails</Role>
      <ShortName>Intangible Assets, net - Schedule of Finite-Lived Intangible Assets, Future Amortization Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>2426413 - Disclosure - Accrued Employee Expenses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/AccruedEmployeeExpensesDetails</Role>
      <ShortName>Accrued Employee Expenses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/AccruedEmployeeExpensesTables</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>2427414 - Disclosure - Accrued Employee Expenses - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/AccruedEmployeeExpensesNarrativeDetails</Role>
      <ShortName>Accrued Employee Expenses - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>2430415 - Disclosure - Leases - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/LeasesNarrativeDetails</Role>
      <ShortName>Leases - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>2431416 - Disclosure - Leases - Schedule of Components of Lease Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseExpenseDetails</Role>
      <ShortName>Leases - Schedule of Components of Lease Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>2432417 - Disclosure - Leases - Lease Related Assets and Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/LeasesLeaseRelatedAssetsandLiabilitiesDetails</Role>
      <ShortName>Leases - Lease Related Assets and Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>2433418 - Disclosure - Leases - Schedule of Minimum Lease Payments Under Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails</Role>
      <ShortName>Leases - Schedule of Minimum Lease Payments Under Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>2435419 - Disclosure - Commitments and Contingencies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/CommitmentsandContingenciesDetails</Role>
      <ShortName>Commitments and Contingencies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/CommitmentsandContingencies</ParentRole>
      <Position>48</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>2437420 - Disclosure - Share Repurchase Program (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/ShareRepurchaseProgramDetails</Role>
      <ShortName>Share Repurchase Program (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/ShareRepurchaseProgram</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>2440421 - Disclosure - Stock-Based Compensation - Stock Option Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails</Role>
      <ShortName>Stock-Based Compensation - Stock Option Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>2441422 - Disclosure - Stock-Based Compensation - Restricted Stock Units Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails</Role>
      <ShortName>Stock-Based Compensation - Restricted Stock Units Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>2442423 - Disclosure - Stock-Based Compensation - Restricted Stock Units (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails</Role>
      <ShortName>Stock-Based Compensation - Restricted Stock Units (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>2443424 - Disclosure - Stock-Based Compensation - Restricted Stock Awards (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails</Role>
      <ShortName>Stock-Based Compensation - Restricted Stock Awards (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>2445425 - Disclosure - Income Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/IncomeTaxesDetails</Role>
      <ShortName>Income Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/IncomeTaxes</ParentRole>
      <Position>54</Position>
    </Report>
    <Report instance="appf-20210630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>2448426 - Disclosure - Revenue and Other Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/RevenueandOtherInformationDetails</Role>
      <ShortName>Revenue and Other Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/RevenueandOtherInformationTables</ParentRole>
      <Position>55</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-Q" original="appf-20210630.htm">appf-20210630.htm</File>
    <File>a63021exhibit311.htm</File>
    <File>a63021exhibit312.htm</File>
    <File>a63021exhibit321.htm</File>
    <File>a642021exhibit101.htm</File>
    <File>appf-20210630.xsd</File>
    <File>appf-20210630_cal.xml</File>
    <File>appf-20210630_def.xml</File>
    <File>appf-20210630_lab.xml</File>
    <File>appf-20210630_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy>http://fasb.org/srt/2021-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/dei/2021</BaseTaxonomy>
    <BaseTaxonomy>http://fasb.org/us-gaap/2021-01-31</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>73
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "appf-20210630.htm": {
   "axisCustom": 0,
   "axisStandard": 17,
   "contextCount": 228,
   "dts": {
    "calculationLink": {
     "local": [
      "appf-20210630_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "appf-20210630_def.xml"
     ]
    },
    "inline": {
     "local": [
      "appf-20210630.htm"
     ]
    },
    "labelLink": {
     "local": [
      "appf-20210630_lab.xml"
     ],
     "remote": [
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-doc-2021-01-31.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "appf-20210630_pre.xml"
     ]
    },
    "referenceLink": {
     "remote": [
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-ref-2021-01-31.xml"
     ]
    },
    "schema": {
     "local": [
      "appf-20210630.xsd"
     ],
     "remote": [
      "https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd",
      "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",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "https://xbrl.fasb.org/srt/2021/elts/srt-types-2021-01-31.xsd",
      "https://xbrl.sec.gov/country/2021/country-2021.xsd",
      "https://xbrl.fasb.org/srt/2021/elts/srt-roles-2021-01-31.xsd",
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd",
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-types-2021-01-31.xsd",
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-roles-2021-01-31.xsd",
      "https://xbrl.sec.gov/dei/2021/dei-2021.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "https://xbrl.sec.gov/dei/2021/dei-2021_doc.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-parts-codification-2021-01-31.xsd",
      "https://xbrl.sec.gov/dei/2021/dei-2021_ref.xsd"
     ]
    }
   },
   "elementCount": 436,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2021-01-31": 3,
    "http://xbrl.sec.gov/dei/2021": 5,
    "total": 8
   },
   "keyCustom": 36,
   "keyStandard": 314,
   "memberCustom": 15,
   "memberStandard": 35,
   "nsprefix": "appf",
   "nsuri": "http://www.appfolio.com/20210630",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "0001001 - Document - Cover Page",
     "role": "http://www.appfolio.com/role/CoverPage",
     "shortName": "Cover Page",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "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-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2106103 - Disclosure - Divestitures",
     "role": "http://www.appfolio.com/role/Divestitures",
     "shortName": "Divestitures",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "appf:InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2108104 - Disclosure - Investment Securities and Fair Value Measurements",
     "role": "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurements",
     "shortName": "Investment Securities and Fair Value Measurements",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "appf:InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2115105 - Disclosure - Capitalized Software Development Cost, net",
     "role": "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnet",
     "shortName": "Capitalized Software Development Cost, net",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2120106 - Disclosure - Intangible Assets, net",
     "role": "http://www.appfolio.com/role/IntangibleAssetsnet",
     "shortName": "Intangible Assets, net",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CompensationRelatedCostsGeneralTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2124107 - Disclosure - Accrued Employee Expenses",
     "role": "http://www.appfolio.com/role/AccruedEmployeeExpenses",
     "shortName": "Accrued Employee Expenses",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CompensationRelatedCostsGeneralTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2128108 - Disclosure - Leases",
     "role": "http://www.appfolio.com/role/Leases",
     "shortName": "Leases",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2134109 - Disclosure - Commitments and Contingencies",
     "role": "http://www.appfolio.com/role/CommitmentsandContingencies",
     "shortName": "Commitments and Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2136110 - Disclosure - Share Repurchase Program",
     "role": "http://www.appfolio.com/role/ShareRepurchaseProgram",
     "shortName": "Share Repurchase Program",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2138111 - Disclosure - Stock-Based Compensation",
     "role": "http://www.appfolio.com/role/StockBasedCompensation",
     "shortName": "Stock-Based Compensation",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2144112 - Disclosure - Income Taxes",
     "role": "http://www.appfolio.com/role/IncomeTaxes",
     "shortName": "Income Taxes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1001002 - Statement - Condensed Consolidated Balance Sheets (Unaudited)",
     "role": "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited",
     "shortName": "Condensed Consolidated Balance Sheets (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2146113 - Disclosure - Revenue and Other Information",
     "role": "http://www.appfolio.com/role/RevenueandOtherInformation",
     "shortName": "Revenue and Other Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2203201 - Disclosure - Summary of Significant Accounting Policies (Policies)",
     "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-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "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-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2304301 - Disclosure - Summary of Significant Accounting Policies (Tables)",
     "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-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "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-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2309302 - Disclosure - Investment Securities and Fair Value Measurements (Tables)",
     "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-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "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-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "appf:ScheduleOfCapitalizedComputerSoftwareTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2316303 - Disclosure - Capitalized Software Development Cost, net (Tables)",
     "role": "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetTables",
     "shortName": "Capitalized Software Development Cost, net (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "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-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2321304 - Disclosure - Intangible Assets, net (Tables)",
     "role": "http://www.appfolio.com/role/IntangibleAssetsnetTables",
     "shortName": "Intangible Assets, net (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "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-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "appf:ScheduleOfAccruedEmployeeExpensesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2325305 - Disclosure - Accrued Employee Expenses (Tables)",
     "role": "http://www.appfolio.com/role/AccruedEmployeeExpensesTables",
     "shortName": "Accrued Employee Expenses (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "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-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2329306 - Disclosure - Leases (Tables)",
     "role": "http://www.appfolio.com/role/LeasesTables",
     "shortName": "Leases (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "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-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2339307 - Disclosure - Stock-Based Compensation (Tables)",
     "role": "http://www.appfolio.com/role/StockBasedCompensationTables",
     "shortName": "Stock-Based Compensation (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "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-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2347308 - Disclosure - Revenue and Other Information (Tables)",
     "role": "http://www.appfolio.com/role/RevenueandOtherInformationTables",
     "shortName": "Revenue and Other Information (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:PreferredStockParOrStatedValuePerShare",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usdPerShare",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1002003 - Statement - Condensed Consolidated Balance Sheets (Parenthetical)",
     "role": "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsParenthetical",
     "shortName": "Condensed Consolidated Balance Sheets (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PreferredStockParOrStatedValuePerShare",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usdPerShare",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:WeightedAverageNumberOfSharesIssuedBasic",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2405401 - Disclosure - Summary of Significant Accounting Policies - Net Income per Share Schedule of Weighted Average Number of Shares (Details)",
     "role": "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails",
     "shortName": "Summary of Significant Accounting Policies - Net Income per Share Schedule of Weighted Average Number of Shares (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:WeightedAverageNumberOfSharesIssuedBasic",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i33d25f7a5d2e44dcb8c9b0bef0ed6980_I20200930",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2407402 - Disclosure - Divestitures - Narrative (Details)",
     "role": "http://www.appfolio.com/role/DivestituresNarrativeDetails",
     "shortName": "Divestitures - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i33d25f7a5d2e44dcb8c9b0bef0ed6980_I20200930",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2410403 - Disclosure - Investment Securities and Fair Value Measurements - Schedule of Available-for-sale Securities (Details)",
     "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-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2411404 - Disclosure - Investment Securities and Fair Value Measurements - Narrative (Details)",
     "role": "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails",
     "shortName": "Investment Securities and Fair Value Measurements - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2412405 - Disclosure - Investment Securities and Fair Value Measurements - Available-for-sale Investments, by Remaining Contract Maturity (Details)",
     "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",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfRealizedGainLossTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleRealizedGain",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2413406 - Disclosure - Investment Securities and Fair Value Measurements - Schedule of Sales, Calls and Maturities (Details)",
     "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",
       "us-gaap:ScheduleOfRealizedGainLossTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleRealizedGain",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AvailableForSaleSecuritiesDebtSecurities",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2414407 - Disclosure - Investment Securities and Fair Value Measurements - Fair Value, Assets Measured on Recurring Basis (Details)",
     "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",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "ib8a8f4e1a99f4b7288fa9ec9396b98ca_I20201231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:AvailableForSaleSecuritiesDebtSecurities",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "appf:ScheduleOfCapitalizedComputerSoftwareTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CapitalizedComputerSoftwareGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2417408 - Disclosure - Capitalized Software Development Cost, net - Capitalized Computer Software (Details)",
     "role": "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareDetails",
     "shortName": "Capitalized Software Development Cost, net - Capitalized Computer Software (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "appf:ScheduleOfCapitalizedComputerSoftwareTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CapitalizedComputerSoftwareGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CapitalizedComputerSoftwareAdditions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2418409 - Disclosure - Capitalized Software Development Cost, net - Narrative (Details)",
     "role": "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetNarrativeDetails",
     "shortName": "Capitalized Software Development Cost, net - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CapitalizedComputerSoftwareAdditions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "appf:ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "appf:CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2419410 - Disclosure - Capitalized Software Development Cost, net - Capitalized Computer Software Future Amortization Expense (Details)",
     "role": "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails",
     "shortName": "Capitalized Software Development Cost, 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-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "appf:CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1003004 - Statement - Condensed Consolidated Statements of Operations (Unaudited)",
     "role": "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited",
     "shortName": "Condensed Consolidated Statements of Operations (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2422411 - Disclosure - Intangible Assets, net - Schedule of Finite-Lived Intangible Assets (Details)",
     "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-20210630.htm",
      "contextRef": "i30100f93f54b4462aecab412e968bd6f_I20201231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2423412 - Disclosure - Intangible Assets, net - Schedule of Finite-Lived Intangible Assets, Future Amortization Expense (Details)",
     "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-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "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-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccruedVacationCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2426413 - Disclosure - Accrued Employee Expenses (Details)",
     "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-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccruedVacationCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "appf:ScheduleOfAccruedEmployeeExpensesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2427414 - Disclosure - Accrued Employee Expenses - Narrative (Details)",
     "role": "http://www.appfolio.com/role/AccruedEmployeeExpensesNarrativeDetails",
     "shortName": "Accrued Employee Expenses - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "id2f2903374cd498682a3d5c790913ad4_I20210630",
      "decimals": "-5",
      "lang": "en-US",
      "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LessorOperatingLeaseRenewalTerm",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2430415 - Disclosure - Leases - Narrative (Details)",
     "role": "http://www.appfolio.com/role/LeasesNarrativeDetails",
     "shortName": "Leases - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LessorOperatingLeaseRenewalTerm",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LeaseCostTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OperatingLeaseCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2431416 - Disclosure - Leases - Schedule of Components of Lease Expense (Details)",
     "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-20210630.htm",
      "contextRef": "i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630",
      "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",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "appf:OperatingLeasePrepaidExpensesAndOtherCurrentAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2432417 - Disclosure - Leases - Lease Related Assets and Liabilities (Details)",
     "role": "http://www.appfolio.com/role/LeasesLeaseRelatedAssetsandLiabilitiesDetails",
     "shortName": "Leases - Lease Related Assets and Liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "appf:OperatingLeasePrepaidExpensesAndOtherCurrentAssets",
      "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-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2433418 - Disclosure - Leases - Schedule of Minimum Lease Payments Under Leases (Details)",
     "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-20210630.htm",
      "contextRef": "i49a83278583a4fd3a93151bd1e49d10e_I20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "appf:PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2435419 - Disclosure - Commitments and Contingencies (Details)",
     "role": "http://www.appfolio.com/role/CommitmentsandContingenciesDetails",
     "shortName": "Commitments and Contingencies (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "appf:PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i388b9a53d8fa44df8128bd1247847647_I20190220",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2437420 - Disclosure - Share Repurchase Program (Details)",
     "role": "http://www.appfolio.com/role/ShareRepurchaseProgramDetails",
     "shortName": "Share Repurchase Program (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i388b9a53d8fa44df8128bd1247847647_I20190220",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1004005 - Statement - Condensed Consolidated Statements of Comprehensive Income (Unaudited)",
     "role": "http://www.appfolio.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited",
     "shortName": "Condensed Consolidated Statements of Comprehensive Income (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630",
      "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-20210630.htm",
      "contextRef": "i30100f93f54b4462aecab412e968bd6f_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2440421 - Disclosure - Stock-Based Compensation - Stock Option Activity (Details)",
     "role": "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails",
     "shortName": "Stock-Based Compensation - Stock Option Activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": "INF",
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "ifea9c8c7589a4777a3159cf7b213b956_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2441422 - Disclosure - Stock-Based Compensation - Restricted Stock Units Activity (Details)",
     "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-20210630.htm",
      "contextRef": "ifea9c8c7589a4777a3159cf7b213b956_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i3c25fe0841da49819791dd343a9c5659_D20210101-20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
      "reportCount": 1,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2442423 - Disclosure - Stock-Based Compensation - Restricted Stock Units (Details)",
     "role": "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails",
     "shortName": "Stock-Based Compensation - Restricted Stock Units (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i9cdfea096b5b4cdeaa07a77cdafe7b17_D20210401-20210630",
      "decimals": "-5",
      "lang": "en-US",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i5f49e86785c9487b9d0bc7db6eba2827_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2443424 - Disclosure - Stock-Based Compensation - Restricted Stock Awards (Details)",
     "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-20210630.htm",
      "contextRef": "i5f49e86785c9487b9d0bc7db6eba2827_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxExpenseBenefit",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2445425 - Disclosure - Income Taxes (Details)",
     "role": "http://www.appfolio.com/role/IncomeTaxesDetails",
     "shortName": "Income Taxes (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i542cc65a7d38427eb2692050a78b4ad4_D20210401-20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2448426 - Disclosure - Revenue and Other Information (Details)",
     "role": "http://www.appfolio.com/role/RevenueandOtherInformationDetails",
     "shortName": "Revenue and Other Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": "-5",
      "lang": "en-US",
      "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "ie71946e53a9141c2985262e73f21d211_I20191231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SharesOutstanding",
      "reportCount": 1,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1005006 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited)",
     "role": "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited",
     "shortName": "Condensed Consolidated Statements of Stockholders' Equity (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "if527286e411c499c8fa3f829e9f8f1a5_D20200101-20200331",
      "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-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1006007 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)",
     "role": "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited",
     "shortName": "Condensed Consolidated Statements of Cash Flows (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": "-3",
      "lang": "en-US",
      "name": "appf:DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NatureOfOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2101101 - Disclosure - Nature of Business",
     "role": "http://www.appfolio.com/role/NatureofBusiness",
     "shortName": "Nature of Business",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "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-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2102102 - Disclosure - Summary of Significant Accounting Policies",
     "role": "http://www.appfolio.com/role/SummaryofSignificantAccountingPolicies",
     "shortName": "Summary of Significant Accounting Policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20210630.htm",
      "contextRef": "i438bc4b13e9a4444b1e4a7e459f9b393_D20210101-20210630",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 50,
   "tag": {
    "appf_A2021ThreeYearPlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "2021 Three Year Plan",
        "label": "2021 Three Year Plan [Member]",
        "terseLabel": "2021 Three Year Plan"
       }
      }
     },
     "localname": "A2021ThreeYearPlanMember",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/AccruedEmployeeExpensesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_AmortizationOfOperatingLeaseRightOfUseAssets": {
     "auth_ref": [],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amortization Of Operating Lease, Right-Of-Use Assets",
        "label": "Amortization Of Operating Lease, Right-Of-Use Assets",
        "terseLabel": "Amortization of operating lease right-of-use assets"
       }
      }
     },
     "localname": "AmortizationOfOperatingLeaseRightOfUseAssets",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_AvailableForSaleSecuritiesMaximumContractualMaturity": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Available-For-Sale Securities, Maximum Contractual Maturity",
        "label": "Available-For-Sale Securities, Maximum Contractual Maturity",
        "terseLabel": "Maximum contractual maturity period"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesMaximumContractualMaturity",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Capitalized Computer Software Additions, Incurred But Not Yet Paid",
        "label": "Capitalized Computer Software Additions, Incurred But Not Yet Paid",
        "terseLabel": "Capitalization of software development costs included in accrued expenses and accrued employee expenses"
       }
      }
     },
     "localname": "CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear": {
     "auth_ref": [],
     "calculation": {
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails": {
       "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": "2021"
       }
      }
     },
     "localname": "CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne": {
     "auth_ref": [],
     "calculation": {
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails": {
       "order": 2.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": "2022"
       }
      }
     },
     "localname": "CapitalizedComputerSoftwareAmortizationExpenseYearOne",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree": {
     "auth_ref": [],
     "calculation": {
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails": {
       "order": 4.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": "2024"
       }
      }
     },
     "localname": "CapitalizedComputerSoftwareAmortizationExpenseYearThree",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo": {
     "auth_ref": [],
     "calculation": {
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails": {
       "order": 3.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": "2023"
       }
      }
     },
     "localname": "CapitalizedComputerSoftwareAmortizationExpenseYearTwo",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails"
     ],
     "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/20210630",
     "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/20210630",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts": {
     "auth_ref": [],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Depreciation, Depletion and Amortization, Excluding Amortization of Financing Costs",
        "label": "Depreciation, Depletion and Amortization, Excluding Amortization of Financing Costs",
        "terseLabel": "Depreciation and amortization"
       }
      }
     },
     "localname": "DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disposal Group, Including Discontinued Operation, Capitalized Software",
        "label": "Disposal Group, Including Discontinued Operation, Capitalized Software",
        "terseLabel": "Capitalized software divested"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/DivestituresNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disposal Group, Including Discontinued Operation, Retention Period",
        "label": "Disposal Group, Including Discontinued Operation, Retention Period",
        "terseLabel": "Retention period"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationRetentionPeriod",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/DivestituresNarrativeDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disposal Group, Including Discontinued Operation, Working Capital Adjustment",
        "label": "Disposal Group, Including Discontinued Operation, Working Capital Adjustment",
        "terseLabel": "Working capital adjustment"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/DivestituresNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_EmployeeRelatedLiabilitiesNoncurrent": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Employee-related Liabilities, Noncurrent",
        "label": "Employee-related Liabilities, Noncurrent",
        "terseLabel": "Accrued employee expenses\u2014noncurrent"
       }
      }
     },
     "localname": "EmployeeRelatedLiabilitiesNoncurrent",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/AccruedEmployeeExpensesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "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/20210630",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase (Decrease) In Employee-related Liabilities, Noncurrent",
        "label": "Increase (Decrease) In Employee-related Liabilities, Noncurrent",
        "terseLabel": "Accrued employee expenses\u2014noncurrent"
       }
      }
     },
     "localname": "IncreaseDecreaseInEmployeeRelatedLiabilitiesNoncurrent",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_IncreaseDecreaseInOperatingLeases": {
     "auth_ref": [],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase (Decrease) In Operating Leases",
        "label": "Increase (Decrease) In Operating Leases",
        "terseLabel": "Operating lease liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingLeases",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Investment Securities And Fair Value Measurements, Disclosure [Text Block]",
        "label": "Investment Securities And Fair Value Measurements, Disclosure [Text Block]",
        "terseLabel": "Investment Securities and Fair Value Measurements"
       }
      }
     },
     "localname": "InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurements"
     ],
     "xbrltype": "textBlockItemType"
    },
    "appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion": {
     "auth_ref": [],
     "calculation": {
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Operating Lease, Liability, Net Of Current Portion",
        "label": "Lessee, Operating Lease, Liability, Net Of Current Portion",
        "terseLabel": "Total"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityNetOfCurrentPortion",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour": {
     "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, after Year Four",
        "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Four",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityToBePaidAfterYearFour",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_LesseeOperatingLeaseTenantAllowanceRemainderOfFiscalYear": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Operating Lease, Tenant Allowance, Remainder Of Fiscal Year",
        "label": "Lessee, Operating Lease, Tenant Allowance, Remainder Of Fiscal Year",
        "terseLabel": "Tenant improvement allowance, remainder of fiscal year"
       }
      }
     },
     "localname": "LesseeOperatingLeaseTenantAllowanceRemainderOfFiscalYear",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_LesseeOperatingLeaseTenantAllowanceYearOne": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Operating Lease, Tenant Allowance, Year One",
        "label": "Lessee, Operating Lease, Tenant Allowance, Year One",
        "terseLabel": "Tenant improvement allowance, 2022"
       }
      }
     },
     "localname": "LesseeOperatingLeaseTenantAllowanceYearOne",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_LesseeOperatingLeaseTenantAllowanceYearThree": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Operating Lease, Tenant Allowance, Year Three",
        "label": "Lessee, Operating Lease, Tenant Allowance, Year Three",
        "terseLabel": "Tenant improvement allowance, 2024"
       }
      }
     },
     "localname": "LesseeOperatingLeaseTenantAllowanceYearThree",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_LesseeOperatingLeaseTenantAllowanceYearTwo": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Operating Lease, Tenant Allowance, Year Two",
        "label": "Lessee, Operating Lease, Tenant Allowance, Year Two",
        "terseLabel": "Tenant improvement allowance, 2023"
       }
      }
     },
     "localname": "LesseeOperatingLeaseTenantAllowanceYearTwo",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_MyCaseMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "MyCase",
        "label": "MyCase [Member]",
        "terseLabel": "MyCase"
       }
      }
     },
     "localname": "MyCaseMember",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/DivestituresNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_NoncashOrPartNoncashDivestitureAdjustmentToConsideration": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Noncash or Part Noncash Divestiture, Adjustment to Consideration",
        "label": "Noncash or Part Noncash Divestiture, Adjustment to Consideration",
        "terseLabel": "Adjustment to the employee retention bonus pool"
       }
      }
     },
     "localname": "NoncashOrPartNoncashDivestitureAdjustmentToConsideration",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/DivestituresNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Operating Lease, Prepaid Expenses And Other Current Assets",
        "label": "Operating Lease, Prepaid Expenses And Other Current Assets",
        "terseLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "OperatingLeasePrepaidExpensesAndOtherCurrentAssets",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/LeasesLeaseRelatedAssetsandLiabilitiesDetails"
     ],
     "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/20210630",
     "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/20210630",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_PerformanceStockUnitsGrantedIn2020Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Performance Stock Units Granted in 2020",
        "label": "Performance Stock Units Granted in 2020 [Member]",
        "terseLabel": "PSUs Granted in 2020"
       }
      }
     },
     "localname": "PerformanceStockUnitsGrantedIn2020Member",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_PerformanceStockUnitsGrantedIn2021Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Performance Stock Units Granted in 2021",
        "label": "Performance Stock Units Granted in 2021 [Member]",
        "terseLabel": "PSUs Granted in 2021"
       }
      }
     },
     "localname": "PerformanceStockUnitsGrantedIn2021Member",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_PerformanceStockUnitsGrantedin2018Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Performance Stock Units Granted in 2018 [Member]",
        "label": "Performance Stock Units Granted in 2018 [Member]",
        "terseLabel": "PSUs Granted in 2018"
       }
      }
     },
     "localname": "PerformanceStockUnitsGrantedin2018Member",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_PerformanceStockUnitsGrantedin2019Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Performance Stock Units Granted in 2019 [Member]",
        "label": "Performance Stock Units Granted in 2019 [Member]",
        "terseLabel": "PSUs Granted in 2019"
       }
      }
     },
     "localname": "PerformanceStockUnitsGrantedin2019Member",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_PerformanceStockUnitsGrantedin2019and2018Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Performance Stock Units Granted in 2019 and 2018 [Member]",
        "label": "Performance Stock Units Granted in 2019 and 2018 [Member]",
        "terseLabel": "Performance Stock Units Granted in 2019 and 2018"
       }
      }
     },
     "localname": "PerformanceStockUnitsGrantedin2019and2018Member",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "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/20210630",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "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/20210630",
     "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/20210630",
     "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/20210630",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "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/20210630",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited"
     ],
     "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/20210630",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "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/20210630",
     "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/20210630",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetTables"
     ],
     "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/20210630",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "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/20210630",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based Compensation Arrangements by Share-based Payment Award, Percent Of Achievement Of Award Target Performance Metric",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Percent Of Achievement Of Award Target Performance Metric",
        "terseLabel": "Percent of achievement of award target performance metric"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "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/20210630",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based Compensation Arrangements by Share-based Payment Award, Performance Based Cash Bonus Payment, Percent",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Performance Based Cash Bonus Payment, Percent",
        "terseLabel": "Performance based cash bonus payment percent"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock Repurchase Program, Number Of Directors To Authorize Repurchases",
        "label": "Stock Repurchase Program, Number Of Directors To Authorize Repurchases",
        "terseLabel": "Number of directors to authorize repurchases"
       }
      }
     },
     "localname": "StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/ShareRepurchaseProgramDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "appf_TechnologyMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Technology [Member]",
        "label": "Technology [Member]",
        "terseLabel": "Technology"
       }
      }
     },
     "localname": "TechnologyMember",
     "nsuri": "http://www.appfolio.com/20210630",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_ValuePlusServicesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value Plus Services [Member]",
        "label": "Value Plus Services [Member]",
        "terseLabel": "Value+ services"
       }
      }
     },
     "localname": "ValuePlusServicesMember",
     "nsuri": "http://www.appfolio.com/20210630",
     "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/2021",
     "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/2021",
     "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/2021",
     "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/2021",
     "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/2021",
     "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/2021",
     "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/2021",
     "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/2021",
     "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/2021",
     "presentation": [
      "http://www.appfolio.com/role/CoverPage"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentQuarterlyReport": {
     "auth_ref": [
      "r504"
     ],
     "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/2021",
     "presentation": [
      "http://www.appfolio.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r505"
     ],
     "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/2021",
     "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/2021",
     "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/2021",
     "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/2021",
     "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/2021",
     "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/2021",
     "presentation": [
      "http://www.appfolio.com/role/CoverPage"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r506"
     ],
     "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/2021",
     "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/2021",
     "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/2021",
     "presentation": [
      "http://www.appfolio.com/role/CoverPage"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r506"
     ],
     "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/2021",
     "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/2021",
     "presentation": [
      "http://www.appfolio.com/role/CoverPage"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r506"
     ],
     "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/2021",
     "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/2021",
     "presentation": [
      "http://www.appfolio.com/role/CoverPage"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r514"
     ],
     "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/2021",
     "presentation": [
      "http://www.appfolio.com/role/CoverPage"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r506"
     ],
     "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/2021",
     "presentation": [
      "http://www.appfolio.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r506"
     ],
     "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/2021",
     "presentation": [
      "http://www.appfolio.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r506"
     ],
     "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/2021",
     "presentation": [
      "http://www.appfolio.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r506"
     ],
     "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/2021",
     "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/2021",
     "presentation": [
      "http://www.appfolio.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r502"
     ],
     "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/2021",
     "presentation": [
      "http://www.appfolio.com/role/CoverPage"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r503"
     ],
     "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/2021",
     "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/2021",
     "presentation": [
      "http://www.appfolio.com/role/CoverPage"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "srt_ExecutiveOfficerMember": {
     "auth_ref": [
      "r161"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Executive Officer [Member]",
        "terseLabel": "Executive"
       }
      }
     },
     "localname": "ExecutiveOfficerMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r243",
      "r250",
      "r304",
      "r306",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r441",
      "r485",
      "r487",
      "r495",
      "r496"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]",
        "terseLabel": "Maximum"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesNarrativeDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r243",
      "r250",
      "r304",
      "r306",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r441",
      "r485",
      "r487",
      "r495",
      "r496"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]",
        "terseLabel": "Minimum"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesNarrativeDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r158",
      "r279",
      "r283",
      "r444",
      "r484",
      "r486"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]",
        "terseLabel": "Product and Service [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/RevenueandOtherInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r158",
      "r279",
      "r283",
      "r444",
      "r484",
      "r486"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Domain]",
        "terseLabel": "Product and Service [Domain]"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/RevenueandOtherInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r243",
      "r250",
      "r294",
      "r304",
      "r306",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r441",
      "r485",
      "r487",
      "r495",
      "r496"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]",
        "terseLabel": "Statistical Measurement [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails",
      "http://www.appfolio.com/role/LeasesNarrativeDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r243",
      "r250",
      "r294",
      "r304",
      "r306",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r441",
      "r485",
      "r487",
      "r495",
      "r496"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Domain]",
        "terseLabel": "Statistical Measurement [Domain]"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails",
      "http://www.appfolio.com/role/LeasesNarrativeDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_TitleOfIndividualAxis": {
     "auth_ref": [
      "r161",
      "r407"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Axis]",
        "terseLabel": "Title of Individual [Axis]"
       }
      }
     },
     "localname": "TitleOfIndividualAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Domain]",
        "terseLabel": "Title of Individual [Domain]"
       }
      }
     },
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_WeightedAverageMember": {
     "auth_ref": [
      "r417",
      "r419",
      "r422",
      "r495",
      "r496"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average [Member]",
        "terseLabel": "Weighted Average\u00a0Useful Life in Years"
       }
      }
     },
     "localname": "WeightedAverageMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "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/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r36",
      "r410"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 6.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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r13",
      "r25",
      "r162",
      "r163"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedBonusesCurrent": {
     "auth_ref": [
      "r17",
      "r18",
      "r39"
     ],
     "calculation": {
      "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails": {
       "order": 5.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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r39"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "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 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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedPayrollTaxesCurrent": {
     "auth_ref": [
      "r18",
      "r39"
     ],
     "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 statutory payroll taxes incurred through that date and withheld from employees pertaining to services received from them, including entity's matching share of the employees FICA taxes and contributions to the state and federal unemployment insurance programs. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Payroll Taxes, Current",
        "terseLabel": "Accrued payroll taxes and other"
       }
      }
     },
     "localname": "AccruedPayrollTaxesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedSalariesCurrent": {
     "auth_ref": [
      "r17",
      "r18",
      "r39"
     ],
     "calculation": {
      "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_EmployeeRelatedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of the obligations incurred through that date and payable for employees' services provided. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Salaries, Current",
        "terseLabel": "Accrued payroll"
       }
      }
     },
     "localname": "AccruedSalariesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedSalesCommissionCurrent": {
     "auth_ref": [
      "r17",
      "r18",
      "r39"
     ],
     "calculation": {
      "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails": {
       "order": 2.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 through that date and payable for sales commissions. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Sales Commission, Current",
        "terseLabel": "Accrued commissions"
       }
      }
     },
     "localname": "AccruedSalesCommissionCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedVacationCurrent": {
     "auth_ref": [
      "r17",
      "r39",
      "r291"
     ],
     "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 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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r28",
      "r47",
      "r48",
      "r49",
      "r470",
      "r492",
      "r493"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Accumulated other comprehensive (loss) income"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r46",
      "r49",
      "r56",
      "r57",
      "r58",
      "r98",
      "r99",
      "r100",
      "r368",
      "r488",
      "r489",
      "r515"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdditionalPaidInCapital": {
     "auth_ref": [
      "r26",
      "r336",
      "r410"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 1.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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r98",
      "r99",
      "r100",
      "r333",
      "r334",
      "r335",
      "r375"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r307",
      "r309",
      "r338",
      "r339"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited"
     ],
     "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 income to net cash provided by operating activities:"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AgencySecuritiesMember": {
     "auth_ref": [
      "r185"
     ],
     "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/2021-01-31",
     "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": [
      "r309",
      "r328",
      "r337"
     ],
     "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"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "auth_ref": [
      "r84",
      "r206",
      "r212"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r124"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "terseLabel": "Shares excluded from net loss per share computation (in shares)"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "auth_ref": [
      "r124"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of antidilutive security.",
        "label": "Antidilutive Securities [Axis]",
        "terseLabel": "Antidilutive Securities [Axis]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": {
     "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": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]",
        "terseLabel": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "auth_ref": [
      "r124"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented.",
        "label": "Antidilutive Securities, Name [Domain]",
        "terseLabel": "Antidilutive Securities, Name [Domain]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r93",
      "r147",
      "r150",
      "r156",
      "r189",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r366",
      "r369",
      "r386",
      "r408",
      "r410",
      "r450",
      "r468"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "Assets"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r14",
      "r15",
      "r44",
      "r93",
      "r189",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r366",
      "r369",
      "r386",
      "r408",
      "r410"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 1.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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsFairValueDisclosure": {
     "auth_ref": [
      "r378"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation": {
     "auth_ref": [
      "r2",
      "r3",
      "r9",
      "r10",
      "r11",
      "r217"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount classified as assets attributable to disposal group held for sale or disposed of.",
        "label": "Disposal Group, Including Discontinued Operation, Assets",
        "terseLabel": "Assets divested"
       }
      }
     },
     "localname": "AssetsOfDisposalGroupIncludingDiscontinuedOperation",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivestituresNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": {
     "auth_ref": [
      "r171"
     ],
     "calculation": {
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": {
     "auth_ref": [
      "r172"
     ],
     "calculation": {
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": {
     "auth_ref": [
      "r168",
      "r196"
     ],
     "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 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",
        "totalLabel": "Total available-for-sale investment securities"
       }
      }
     },
     "localname": "AvailableForSaleDebtSecuritiesAmortizedCostBasis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails",
      "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost": {
     "auth_ref": [
      "r176"
     ],
     "calculation": {
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue": {
     "auth_ref": [
      "r173",
      "r176",
      "r466"
     ],
     "calculation": {
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities",
       "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/2021-01-31",
     "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/2021-01-31",
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost": {
     "auth_ref": [
      "r175"
     ],
     "calculation": {
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue": {
     "auth_ref": [
      "r173",
      "r175",
      "r465"
     ],
     "calculation": {
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities",
       "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtSecurities": {
     "auth_ref": [
      "r165",
      "r169",
      "r196",
      "r452"
     ],
     "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_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount 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",
        "terseLabel": "Estimated Fair Value",
        "totalLabel": "Total available-for-sale investment securities",
        "verboseLabel": "Available-for-sale investment securities"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtSecurities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsAvailableforsaleInvestmentsbyRemainingContractMaturityDetails",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent": {
     "auth_ref": [
      "r167",
      "r196"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount 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, Current",
        "terseLabel": "Investment securities\u2014current"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtSecuritiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent": {
     "auth_ref": [
      "r167",
      "r196"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount 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, Noncurrent",
        "terseLabel": "Investment securities\u2014noncurrent"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtSecuritiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r310",
      "r331"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location on balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Axis]",
        "terseLabel": "Balance Sheet Location [Axis]"
       }
      }
     },
     "localname": "BalanceSheetLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CommitmentsandContingenciesDetails",
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "auth_ref": [
      "r371",
      "r372"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Domain]",
        "terseLabel": "Balance Sheet Location [Domain]"
       }
      }
     },
     "localname": "BalanceSheetLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CommitmentsandContingenciesDetails",
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r97"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessAcquisitionLineItems": {
     "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": "Business Acquisition [Line Items]",
        "terseLabel": "Business Acquisition [Line Items]"
       }
      }
     },
     "localname": "BusinessAcquisitionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivestituresNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessCombinationDisclosureTextBlock": {
     "auth_ref": [
      "r365"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).",
        "label": "Business Combination Disclosure [Text Block]",
        "terseLabel": "Divestitures"
       }
      }
     },
     "localname": "BusinessCombinationDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Divestitures"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CapitalExpendituresIncurredButNotYetPaid": {
     "auth_ref": [
      "r87",
      "r88",
      "r89"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred.",
        "label": "Capital Expenditures Incurred but Not yet Paid",
        "terseLabel": "Purchases of property and equipment included in accounts payable and accrued expenses"
       }
      }
     },
     "localname": "CapitalExpendituresIncurredButNotYetPaid",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization": {
     "auth_ref": [
      "r499"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareDetails": {
       "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedComputerSoftwareAdditions": {
     "auth_ref": [
      "r207"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedComputerSoftwareAmortization1": {
     "auth_ref": [
      "r498",
      "r500"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedComputerSoftwareGross": {
     "auth_ref": [
      "r499"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareDetails": {
       "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedComputerSoftwareNet": {
     "auth_ref": [
      "r497"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 4.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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareDetails",
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails",
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnetCapitalizedComputerSoftwareFutureAmortizationExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r12",
      "r34",
      "r86"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited",
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashAndCashEquivalentsAxis": {
     "auth_ref": [],
     "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/2021-01-31",
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r81",
      "r86",
      "r90"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "auth_ref": [
      "r81",
      "r387"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "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) increase in cash, cash equivalents and restricted cash"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashDivestedFromDeconsolidation": {
     "auth_ref": [
      "r75"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reduction in cash due to no longer including the former subsidiary's cash in the consolidated entity's cash.",
        "label": "Cash Divested from Deconsolidation",
        "terseLabel": "Cash divested"
       }
      }
     },
     "localname": "CashDivestedFromDeconsolidation",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivestituresNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ClassOfStockDomain": {
     "auth_ref": [
      "r91",
      "r93",
      "r114",
      "r118",
      "r119",
      "r121",
      "r123",
      "r130",
      "r131",
      "r132",
      "r189",
      "r232",
      "r236",
      "r237",
      "r238",
      "r241",
      "r242",
      "r248",
      "r249",
      "r252",
      "r256",
      "r386",
      "r507"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsParenthetical",
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited",
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited",
      "http://www.appfolio.com/role/CoverPage"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommercialPaperMember": {
     "auth_ref": [
      "r231"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unsecured promissory note (generally negotiable) that provides institutions with short-term funds.",
        "label": "Commercial Paper [Member]",
        "terseLabel": "Commercial paper"
       }
      }
     },
     "localname": "CommercialPaperMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommitmentsAndContingencies": {
     "auth_ref": [
      "r41",
      "r221",
      "r454",
      "r474"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "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 9)"
       }
      }
     },
     "localname": "CommitmentsAndContingencies",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "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/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r218",
      "r219",
      "r220",
      "r228",
      "r494"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CommitmentsandContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonClassAMember": {
     "auth_ref": [],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsParenthetical",
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited",
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited",
      "http://www.appfolio.com/role/CoverPage"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonClassBMember": {
     "auth_ref": [],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsParenthetical",
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited",
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited",
      "http://www.appfolio.com/role/CoverPage"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r98",
      "r99",
      "r375"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r24"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common Stock, Par or Stated Value Per Share",
        "terseLabel": "Common stock, par value (in dollars per share)"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r24"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common Stock, Shares Authorized",
        "terseLabel": "Common stock, shares authorized (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r24"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.",
        "label": "Common Stock, Shares, Issued",
        "terseLabel": "Common stock, shares issued (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r24",
      "r263"
     ],
     "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",
        "terseLabel": "Common stock, shares outstanding (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r24",
      "r410"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 6.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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CompensationRelatedCostsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Related Costs [Abstract]"
       }
      }
     },
     "localname": "CompensationRelatedCostsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/AccruedEmployeeExpenses"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "auth_ref": [
      "r52",
      "r54",
      "r55",
      "r63",
      "r458",
      "r478"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited": {
       "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 income"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "auth_ref": [
      "r268",
      "r269",
      "r280"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "auth_ref": [
      "r281"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/RevenueandOtherInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConversionOfStockSharesConverted1": {
     "auth_ref": [
      "r87",
      "r88",
      "r89"
     ],
     "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",
        "terseLabel": "Conversion of Class B stock to Class A stock (in shares)"
       }
      }
     },
     "localname": "ConversionOfStockSharesConverted1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r66",
      "r444"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.",
        "label": "Cost of Goods and Services Sold",
        "terseLabel": "Cost of revenue (exclusive of depreciation and amortization)"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostsAndExpenses": {
     "auth_ref": [
      "r65"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": {
       "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CustomerRelationshipsMember": {
     "auth_ref": [
      "r363"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss": {
     "auth_ref": [
      "r170",
      "r196",
      "r199",
      "r200"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount 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",
        "terseLabel": "Allowance for credit losses for available-for-sale investment securities"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLoss",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleRealizedGain": {
     "auth_ref": [
      "r183"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss": {
     "auth_ref": [
      "r183"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "auth_ref": [
      "r342",
      "r343"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 9.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.",
        "label": "Deferred Income Tax Assets, Net",
        "terseLabel": "Deferred income taxes\u2014noncurrent"
       }
      }
     },
     "localname": "DeferredIncomeTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "auth_ref": [
      "r342",
      "r343"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 4.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.",
        "label": "Deferred Income Tax Liabilities, Net",
        "terseLabel": "Deferred income taxes\u2014noncurrent"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxesAndTaxCredits": {
     "auth_ref": [
      "r85"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 16.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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsLiabilitiesNet": {
     "auth_ref": [
      "r347"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting.",
        "label": "Deferred Tax Assets, Net",
        "terseLabel": "Net deferred tax assets"
       }
      }
     },
     "localname": "DeferredTaxAssetsLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "auth_ref": [
      "r84",
      "r145"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": {
       "order": 5.0,
       "parentTag": "us-gaap_CostsAndExpenses",
       "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "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": "Disaggregation of Revenue [Line Items]",
        "terseLabel": "Disaggregation of Revenue [Line Items]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/RevenueandOtherInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "auth_ref": [
      "r279",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r288",
      "r289"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/RevenueandOtherInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "auth_ref": [
      "r279"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/RevenueandOtherInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r340"
     ],
     "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/2021-01-31",
     "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/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax": {
     "auth_ref": [
      "r5",
      "r6",
      "r7"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before tax of gain (loss) not previously recognized resulting from the disposal of a discontinued operation.",
        "label": "Discontinued Operation, Gain (Loss) from Disposal of Discontinued Operation, before Income Tax",
        "terseLabel": "Gain on sale of subsidiary"
       }
      }
     },
     "localname": "DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivestituresNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Discontinued Operations and Disposal Groups [Abstract]"
       }
      }
     },
     "localname": "DiscontinuedOperationsAndDisposalGroupsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DiscontinuedOperationsDisposedOfBySaleMember": {
     "auth_ref": [
      "r4"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Component or group of components disposed of by sale and representing a strategic shift that has or will have a major effect on operations and financial results.",
        "label": "Discontinued Operations, Disposed of by Sale [Member]",
        "terseLabel": "Discontinued Operations, Disposed of by Sale"
       }
      }
     },
     "localname": "DiscontinuedOperationsDisposedOfBySaleMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivestituresNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DisposalGroupClassificationAxis": {
     "auth_ref": [
      "r10"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by disposal group classification.",
        "label": "Disposal Group Classification [Axis]",
        "terseLabel": "Disposal Group Classification [Axis]"
       }
      }
     },
     "localname": "DisposalGroupClassificationAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivestituresNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisposalGroupClassificationDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Component or group of components disposed of, including but not limited to, disposal group held-for-sale or disposed of by sale, disposed of by means other than sale, and discontinued operations.",
        "label": "Disposal Group Classification [Domain]",
        "terseLabel": "Disposal Group Classification [Domain]"
       }
      }
     },
     "localname": "DisposalGroupClassificationDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivestituresNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of consideration received or receivable for the disposal of assets and liabilities, including discontinued operation.",
        "label": "Disposal Group, Including Discontinued Operation, Consideration",
        "terseLabel": "Consideration for disposal of subsidiary"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationConsideration",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivestituresNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue": {
     "auth_ref": [
      "r2",
      "r3",
      "r9",
      "r217"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount classified as deferred revenue attributable to disposal group held for sale or disposed of.",
        "label": "Disposal Group, Including Discontinued Operation, Deferred Revenue",
        "terseLabel": "Deferred revenue divested"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationDeferredRevenue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivestituresNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1": {
     "auth_ref": [
      "r2",
      "r3",
      "r9",
      "r217"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount classified as goodwill attributable to disposal group held for sale or disposed of.",
        "label": "Disposal Group, Including Discontinued Operation, Goodwill",
        "terseLabel": "Goodwill divested"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationGoodwill1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivestituresNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome": {
     "auth_ref": [
      "r8"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of other income attributable to disposal group, including, but not limited to, discontinued operation.",
        "label": "Disposal Group, Including Discontinued Operation, Other Income",
        "terseLabel": "Income received"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationOtherIncome",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivestituresNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain": {
     "auth_ref": [
      "r303",
      "r305"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of disposal group.",
        "label": "Disposal Group Name [Domain]",
        "terseLabel": "Disposal Group Name [Domain]"
       }
      }
     },
     "localname": "DisposalGroupsIncludingDiscontinuedOperationsNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivestituresNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]",
        "terseLabel": "Net income per common share:"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r64",
      "r103",
      "r104",
      "r105",
      "r106",
      "r107",
      "r111",
      "r114",
      "r121",
      "r122",
      "r123",
      "r127",
      "r128",
      "r376",
      "r377",
      "r459",
      "r479"
     ],
     "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": "Basic (in dollars per share)"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r64",
      "r103",
      "r104",
      "r105",
      "r106",
      "r107",
      "r114",
      "r121",
      "r122",
      "r123",
      "r127",
      "r128",
      "r376",
      "r377",
      "r459",
      "r479"
     ],
     "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": "Diluted (in dollars per share)"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "auth_ref": [
      "r124",
      "r126"
     ],
     "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 Income per Common Share"
       }
      }
     },
     "localname": "EarningsPerSharePolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "auth_ref": [
      "r39"
     ],
     "calculation": {
      "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "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\u2014current",
        "totalLabel": "Total accrued employee expenses\u2014current"
       }
      }
     },
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails",
      "http://www.appfolio.com/role/AccruedEmployeeExpensesNarrativeDetails",
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent": {
     "auth_ref": [
      "r453",
      "r475"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_Liabilities",
       "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.",
        "label": "Employee-related Liabilities",
        "terseLabel": "Accrued employee expenses\u2014noncurrent"
       }
      }
     },
     "localname": "EmployeeRelatedLiabilitiesCurrentAndNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails",
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount": {
     "auth_ref": [
      "r329"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "auth_ref": [
      "r330"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": {
     "auth_ref": [
      "r330"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]",
        "terseLabel": "Equity [Abstract]"
       }
      }
     },
     "localname": "EquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r0",
      "r56",
      "r57",
      "r58",
      "r98",
      "r99",
      "r100",
      "r102",
      "r108",
      "r110",
      "r129",
      "r190",
      "r263",
      "r264",
      "r333",
      "r334",
      "r335",
      "r349",
      "r350",
      "r375",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r394",
      "r488",
      "r489",
      "r490",
      "r515"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": {
     "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": "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": {
     "auth_ref": [
      "r378",
      "r379",
      "r380",
      "r384"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": {
     "auth_ref": [
      "r378",
      "r379"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "auth_ref": [
      "r244",
      "r246",
      "r247",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r379",
      "r414",
      "r415",
      "r416"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByMeasurementFrequencyAxis": {
     "auth_ref": [
      "r378",
      "r379",
      "r381",
      "r382",
      "r385"
     ],
     "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/2021-01-31",
     "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/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "auth_ref": [
      "r244",
      "r295",
      "r296",
      "r301",
      "r302",
      "r379",
      "r414"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel2Member": {
     "auth_ref": [
      "r244",
      "r246",
      "r247",
      "r295",
      "r296",
      "r301",
      "r302",
      "r379",
      "r415"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel3Member": {
     "auth_ref": [
      "r244",
      "r246",
      "r247",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r379",
      "r416"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "Fair Value, Inputs, Level 3 [Member]",
        "terseLabel": "Level 3"
       }
      }
     },
     "localname": "FairValueInputsLevel3Member",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "auth_ref": [
      "r244",
      "r246",
      "r247",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r414",
      "r415",
      "r416"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementsRecurringMember": {
     "auth_ref": [
      "r383",
      "r385"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FinancialInstrumentAxis": {
     "auth_ref": [
      "r178",
      "r179",
      "r186",
      "r187",
      "r188",
      "r191",
      "r192",
      "r193",
      "r194",
      "r195",
      "r197",
      "r198",
      "r201",
      "r202",
      "r245",
      "r261",
      "r374",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r513"
     ],
     "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/2021-01-31",
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "auth_ref": [
      "r211"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "auth_ref": [
      "r213"
     ],
     "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": "2022"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "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": "2021"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "auth_ref": [
      "r213"
     ],
     "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": "2025"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "auth_ref": [
      "r213"
     ],
     "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": "2024"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "auth_ref": [
      "r213"
     ],
     "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": "2023"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r207",
      "r208",
      "r211",
      "r214",
      "r445",
      "r446"
     ],
     "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/2021-01-31",
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "auth_ref": [
      "r211",
      "r446"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "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": "Finite-Lived Intangible Assets [Line Items]",
        "terseLabel": "Finite-Lived Intangible Assets [Line Items]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r207",
      "r210"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "auth_ref": [
      "r211",
      "r445"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails",
      "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r67"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": {
       "order": 4.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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Goodwill": {
     "auth_ref": [
      "r203",
      "r204",
      "r410",
      "r449"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 5.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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "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/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r215"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnet"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r60",
      "r147",
      "r149",
      "r152",
      "r155",
      "r157",
      "r447",
      "r455",
      "r461",
      "r480"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": {
       "order": 1.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 benefit from income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited"
     ],
     "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/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis": {
     "auth_ref": [
      "r303",
      "r305"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by name of disposal group.",
        "label": "Disposal Group Name [Axis]",
        "terseLabel": "Disposal Group Name [Axis]"
       }
      }
     },
     "localname": "IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivestituresNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "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/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r94",
      "r345",
      "r346",
      "r348",
      "r351",
      "r353",
      "r355",
      "r356",
      "r357"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r95",
      "r109",
      "r110",
      "r146",
      "r344",
      "r352",
      "r354",
      "r481"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": {
       "order": 2.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": "Benefit from income taxes",
        "verboseLabel": "Income tax expense (benefit)"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited",
      "http://www.appfolio.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "auth_ref": [
      "r83"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 2.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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r83"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 13.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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": {
     "auth_ref": [
      "r83"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 8.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": "Income tax payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "auth_ref": [
      "r83",
      "r442"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "Increase (Decrease) in Contract with Customer, Liability",
        "terseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": {
     "auth_ref": [
      "r83"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 17.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\u2014current"
       }
      }
     },
     "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherAccruedLiabilities": {
     "auth_ref": [
      "r83"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 4.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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherCurrentLiabilities": {
     "auth_ref": [
      "r83"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in current liabilities classified as other.",
        "label": "Increase (Decrease) in Other Current Liabilities",
        "terseLabel": "Other current liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherCurrentLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "auth_ref": [
      "r83"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 12.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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "auth_ref": [
      "r83"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 5.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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "auth_ref": [
      "r115",
      "r116",
      "r117",
      "r123"
     ],
     "calculation": {
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements",
        "terseLabel": "Plus: Weighted average options, restricted stock units and restricted shares used to compute diluted net income per common share (in shares)"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "auth_ref": [
      "r205",
      "r209"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 6.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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestIncomeExpenseNet": {
     "auth_ref": [
      "r460"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": {
       "order": 3.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 (expense), net"
       }
      }
     },
     "localname": "InterestIncomeExpenseNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InternetDomainNamesMember": {
     "auth_ref": [
      "r361"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InvestmentIncomeInterest": {
     "auth_ref": [
      "r68",
      "r144"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.",
        "label": "Investment Income, Interest",
        "terseLabel": "Interest income, net of amortization and accretion of premium and discount"
       }
      }
     },
     "localname": "InvestmentIncomeInterest",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LeaseCost": {
     "auth_ref": [
      "r402",
      "r404"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "auth_ref": [
      "r402"
     ],
     "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/2021-01-31",
     "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/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeaseDescriptionLineItems": {
     "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": "Lessee, Lease, Description [Line Items]",
        "terseLabel": "Lessee, Lease, Description [Line Items]"
       }
      }
     },
     "localname": "LesseeLeaseDescriptionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesNarrativeDetails",
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeaseDescriptionTable": {
     "auth_ref": [
      "r399"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesNarrativeDetails",
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [
      "r403"
     ],
     "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, Maturity [Table Text Block]",
        "terseLabel": "Schedule of Minimum Lease Payments Under Leases"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r403"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r403"
     ],
     "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": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid 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": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r403"
     ],
     "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": "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": "2025"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r403"
     ],
     "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": "2024"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r403"
     ],
     "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 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": "2023"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": {
     "auth_ref": [
      "r403"
     ],
     "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 having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r403"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseTermOfContract": {
     "auth_ref": [
      "r398"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "auth_ref": [
      "r405"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Leases"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LessorOperatingLeaseRenewalTerm": {
     "auth_ref": [
      "r406"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r38",
      "r93",
      "r151",
      "r189",
      "r232",
      "r233",
      "r234",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r367",
      "r369",
      "r370",
      "r386",
      "r408",
      "r409"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r31",
      "r93",
      "r189",
      "r386",
      "r410",
      "r451",
      "r472"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r40",
      "r93",
      "r189",
      "r232",
      "r233",
      "r234",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r367",
      "r369",
      "r370",
      "r386",
      "r408",
      "r409",
      "r410"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability": {
     "auth_ref": [
      "r482",
      "r483"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CommitmentsandContingenciesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LossContingenciesLineItems": {
     "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": "Loss Contingencies [Line Items]",
        "terseLabel": "Loss Contingencies [Line Items]"
       }
      }
     },
     "localname": "LossContingenciesLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CommitmentsandContingenciesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LossContingenciesTable": {
     "auth_ref": [
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r229",
      "r230"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Discloses the specific components (such as the nature, name, and date) of the loss contingency and gives an estimate of the possible loss or range of loss, or states that a reasonable estimate cannot be made. Excludes environmental contingencies, warranties and unconditional purchase obligations.",
        "label": "Loss Contingencies [Table]",
        "terseLabel": "Loss Contingencies [Table]"
       }
      }
     },
     "localname": "LossContingenciesTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CommitmentsandContingenciesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_MoneyMarketFundsMember": {
     "auth_ref": [
      "r295"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NatureOfOperations": {
     "auth_ref": [
      "r133",
      "r141"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/NatureofBusiness"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r81"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "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) provided by financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r81"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r81",
      "r82",
      "r85"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "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 provided by operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r11",
      "r50",
      "r53",
      "r58",
      "r61",
      "r85",
      "r93",
      "r101",
      "r103",
      "r104",
      "r105",
      "r106",
      "r109",
      "r110",
      "r120",
      "r147",
      "r149",
      "r152",
      "r155",
      "r157",
      "r189",
      "r232",
      "r233",
      "r234",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r377",
      "r386",
      "r456",
      "r476"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      },
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "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) Attributable to Parent",
        "terseLabel": "Net income",
        "totalLabel": "Net income",
        "verboseLabel": "Net income"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited",
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited",
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited",
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited"
     ],
     "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 in 2020 and 2021"
       }
      }
     },
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NoncashInvestingAndFinancingItemsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncash Investing and Financing Items [Abstract]",
        "terseLabel": "Noncash investing and financing activities"
       }
      }
     },
     "localname": "NoncashInvestingAndFinancingItemsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1": {
     "auth_ref": [
      "r87",
      "r88",
      "r89"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash consideration received for selling an asset or business through a noncash (or part noncash) transaction.",
        "label": "Noncash or Part Noncash Divestiture, Amount of Consideration Received",
        "terseLabel": "Employee retention bonus pool"
       }
      }
     },
     "localname": "NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivestituresNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NoncompeteAgreementsMember": {
     "auth_ref": [
      "r362"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock": {
     "auth_ref": [
      "r313"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r147",
      "r149",
      "r152",
      "r155",
      "r157"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": {
       "order": 1.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": "Income (loss) from operations"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseCost": {
     "auth_ref": [
      "r400",
      "r404"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payment, Due [Abstract]",
        "terseLabel": "Years ending December 31,"
       }
      }
     },
     "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r396"
     ],
     "calculation": {
      "http://www.appfolio.com/role/LeasesLeaseRelatedAssetsandLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "Operating Lease, Liability",
        "totalLabel": "Total lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesLeaseRelatedAssetsandLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r396"
     ],
     "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",
        "terseLabel": "Operating lease, current",
        "verboseLabel": "Other current liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesLeaseRelatedAssetsandLiabilitiesDetails",
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": {
     "auth_ref": [
      "r397"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesLeaseRelatedAssetsandLiabilitiesDetails"
     ],
     "xbrltype": "enumerationSetItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r396"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited",
      "http://www.appfolio.com/role/LeasesLeaseRelatedAssetsandLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r395"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 8.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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited",
      "http://www.appfolio.com/role/LeasesLeaseRelatedAssetsandLiabilitiesDetails"
     ],
     "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/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "auth_ref": [
      "r35"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 7.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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r51",
      "r54",
      "r56",
      "r57",
      "r59",
      "r62",
      "r263",
      "r388",
      "r393",
      "r394",
      "r457",
      "r477"
     ],
     "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 income (loss)"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited"
     ],
     "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:"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": {
     "auth_ref": [
      "r45",
      "r47"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited": {
       "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 (losses) gains on investment securities"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherCurrentAssetsMember": {
     "auth_ref": [
      "r371",
      "r373"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other current assets.",
        "label": "Other Current Assets [Member]",
        "terseLabel": "Other current assets"
       }
      }
     },
     "localname": "OtherCurrentAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CommitmentsandContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherCurrentLiabilitiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other current liabilities.",
        "label": "Other Current Liabilities [Member]",
        "terseLabel": "Other current liabilities"
       }
      }
     },
     "localname": "OtherCurrentLiabilitiesMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CommitmentsandContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherLiabilitiesCurrent": {
     "auth_ref": [
      "r16",
      "r17",
      "r39",
      "r410"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 4.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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNoncashIncomeExpense": {
     "auth_ref": [
      "r85"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 10.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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r69"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": {
       "order": 2.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 income (loss), net"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PatentsMember": {
     "auth_ref": [
      "r364"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities": {
     "auth_ref": [
      "r80"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date.",
        "label": "Payment for Contingent Consideration Liability, Financing Activities",
        "negatedTerseLabel": "Payment of contingent consideration"
       }
      }
     },
     "localname": "PaymentForContingentConsiderationLiabilityFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "auth_ref": [
      "r78"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow to reacquire common stock during the period.",
        "label": "Payments for Repurchase of Common Stock",
        "negatedLabel": "Purchase of treasury stock"
       }
      }
     },
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "auth_ref": [
      "r78"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 2.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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt": {
     "auth_ref": [
      "r70",
      "r73",
      "r166"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 3.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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r74"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 1.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, equipment and intangible assets"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToDevelopSoftware": {
     "auth_ref": [
      "r74"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 2.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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PerformanceSharesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement awarded for meeting performance target.",
        "label": "Performance Shares [Member]",
        "terseLabel": "PSUs"
       }
      }
     },
     "localname": "PerformanceSharesMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PlanNameAxis": {
     "auth_ref": [
      "r310",
      "r331"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by plan name for share-based payment arrangement.",
        "label": "Plan Name [Axis]",
        "terseLabel": "Plan Name [Axis]"
       }
      }
     },
     "localname": "PlanNameAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/AccruedEmployeeExpensesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PlanNameDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan name for share-based payment arrangement.",
        "label": "Plan Name [Domain]",
        "terseLabel": "Plan Name [Domain]"
       }
      }
     },
     "localname": "PlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/AccruedEmployeeExpensesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r23",
      "r248"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.",
        "label": "Preferred Stock, Par or Stated Value Per Share",
        "terseLabel": "Preferred stock, par value (in dollars per share)"
       }
      }
     },
     "localname": "PreferredStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "auth_ref": [
      "r23"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.",
        "label": "Preferred Stock, Shares Authorized",
        "terseLabel": "Preferred stock, shares authorized (in shares)"
       }
      }
     },
     "localname": "PreferredStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesIssued": {
     "auth_ref": [
      "r23",
      "r248"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.",
        "label": "Preferred Stock, Shares Issued",
        "terseLabel": "Preferred stock, shares issued (in shares)"
       }
      }
     },
     "localname": "PreferredStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "auth_ref": [
      "r23"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.",
        "label": "Preferred Stock, Shares Outstanding",
        "terseLabel": "Preferred stock, shares outstanding (in shares)"
       }
      }
     },
     "localname": "PreferredStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockValue": {
     "auth_ref": [
      "r23",
      "r410"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Preferred Stock, Value, Issued",
        "terseLabel": "Preferred stock, $0.0001 par value, 25,000 shares authorized and no shares issued and outstanding as of June\u00a030, 2021 and December\u00a031, 2020"
       }
      }
     },
     "localname": "PreferredStockValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r14",
      "r32",
      "r33"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing prepaid expenses and other current assets.",
        "label": "Prepaid Expenses and Other Current Assets [Member]",
        "terseLabel": "Prepaid Expenses and Other Current Assets"
       }
      }
     },
     "localname": "PrepaidExpensesAndOtherCurrentAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasePaymentsUnderLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PriorPeriodReclassificationAdjustmentDescription": {
     "auth_ref": [
      "r1"
     ],
     "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": "Reclassifications"
       }
      }
     },
     "localname": "PriorPeriodReclassificationAdjustmentDescription",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries": {
     "auth_ref": [
      "r72"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow associated with the deconsolidation of a previously consolidated subsidiary or the sale of investment in consolidated subsidiaries (generally greater than 50 percent).",
        "label": "Proceeds from Divestiture of Interest in Consolidated Subsidiaries",
        "terseLabel": "Proceeds from divestiture of subsidiary"
       }
      }
     },
     "localname": "ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivestituresNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfSecuredDebt": {
     "auth_ref": [
      "r77"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from amounts received from issuance of long-term debt that is wholly or partially secured by collateral. Excludes proceeds from tax exempt secured debt.",
        "label": "Proceeds from Issuance of Secured Debt",
        "terseLabel": "Proceeds from issuance of debt"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfSecuredDebt",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities": {
     "auth_ref": [
      "r70",
      "r71",
      "r166"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt": {
     "auth_ref": [
      "r70",
      "r71",
      "r166"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 4.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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "auth_ref": [
      "r76",
      "r332"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 1.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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r20",
      "r21",
      "r216",
      "r410",
      "r467",
      "r473"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 3.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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of risk reinsured on insurance products per entity policy.",
        "label": "Reinsurance Retention Policy, Reinsured Risk, Percentage",
        "terseLabel": "Quota share of tenant liability insurance provided, percent"
       }
      }
     },
     "localname": "ReinsuranceRetentionPolicyReinsuredRiskPercentage",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CommitmentsandContingenciesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_RepaymentsOfSecuredDebt": {
     "auth_ref": [
      "r79"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow to repay long-term debt that is wholly or partially secured by collateral. Excludes repayments of tax exempt secured debt.",
        "label": "Repayments of Secured Debt",
        "negatedTerseLabel": "Principal payments on debt"
       }
      }
     },
     "localname": "RepaymentsOfSecuredDebt",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "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/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "auth_ref": [
      "r341",
      "r443",
      "r499"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": {
       "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock": {
     "auth_ref": [
      "r501"
     ],
     "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 Cost, net"
       }
      }
     },
     "localname": "ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostnet"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalents": {
     "auth_ref": [
      "r19",
      "r86",
      "r90",
      "r448",
      "r469"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage. 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": "Restricted Cash and Cash Equivalents",
        "terseLabel": "Restricted cash included in other assets"
       }
      }
     },
     "localname": "RestrictedCashAndCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": {
     "auth_ref": [],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictedStockMember": {
     "auth_ref": [
      "r124"
     ],
     "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]",
        "verboseLabel": "Restricted Stock Awards"
       }
      }
     },
     "localname": "RestrictedStockMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails"
     ],
     "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]",
        "verboseLabel": "Restricted Stock Units (RSUs)"
       }
      }
     },
     "localname": "RestrictedStockUnitsRSUMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r27",
      "r264",
      "r336",
      "r410",
      "r471",
      "r491",
      "r493"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings (Accumulated Deficit)",
        "terseLabel": "Retained earnings"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r0",
      "r98",
      "r99",
      "r100",
      "r102",
      "r108",
      "r110",
      "r190",
      "r333",
      "r334",
      "r335",
      "r349",
      "r350",
      "r375",
      "r488",
      "r490"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings [Member]",
        "terseLabel": "Retained Earnings/(Accumulated Deficit)"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "auth_ref": [
      "r142",
      "r143",
      "r148",
      "r153",
      "r154",
      "r158",
      "r159",
      "r160",
      "r278",
      "r279",
      "r444"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": {
       "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"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited",
      "http://www.appfolio.com/role/RevenueandOtherInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "auth_ref": [
      "r270",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r282",
      "r290"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/RevenueandOtherInformation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": {
     "auth_ref": [
      "r124"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities.",
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]",
        "terseLabel": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]"
       }
      }
     },
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems": {
     "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": "Debt Securities, Available-for-sale [Line Items]",
        "terseLabel": "Debt Securities, Available-for-sale [Line Items]"
       }
      }
     },
     "localname": "ScheduleOfAvailableForSaleSecuritiesLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfAvailableForSaleSecuritiesTable": {
     "auth_ref": [
      "r174",
      "r177",
      "r180",
      "r181",
      "r182",
      "r184",
      "r463",
      "r464"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of available-for-sale securities which includes, but is not limited to, changes in the cost basis and fair value, fair value and gross unrealized gain (loss), fair values by type of security, contractual maturity and classification, amortized cost basis, contracts to acquire securities to be accounted for as available-for-sale, debt maturities, transfers to trading, change in net unrealized holding gain (loss) net of tax, continuous unrealized loss position fair value, aggregate losses qualitative disclosures, other than temporary impairment (OTTI) losses or other disclosures related to available for sale securities.",
        "label": "Schedule of Available-for-sale Securities [Table]",
        "terseLabel": "Schedule of Available-for-sale Securities [Table]"
       }
      }
     },
     "localname": "ScheduleOfAvailableForSaleSecuritiesTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": {
     "auth_ref": [
      "r358",
      "r359"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities.",
        "label": "Schedule of Business Acquisitions, by Acquisition [Table]",
        "terseLabel": "Schedule of Business Acquisitions, by Acquisition [Table]"
       }
      }
     },
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivestituresNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "auth_ref": [
      "r207",
      "r210",
      "r445"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "auth_ref": [
      "r207",
      "r210"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock": {
     "auth_ref": [
      "r320"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfRealizedGainLossTableTextBlock": {
     "auth_ref": [
      "r183"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "auth_ref": [
      "r310",
      "r331"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/AccruedEmployeeExpensesNarrativeDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "auth_ref": [
      "r314",
      "r325",
      "r326"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock": {
     "auth_ref": [
      "r125"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "auth_ref": [
      "r210"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentReportingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting [Abstract]",
        "terseLabel": "Segment Reporting [Abstract]"
       }
      }
     },
     "localname": "SegmentReportingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SellingAndMarketingExpense": {
     "auth_ref": [],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": {
       "order": 2.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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r83"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": {
       "order": 15.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"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "auth_ref": [
      "r311"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "auth_ref": [
      "r318"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r324"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "auth_ref": [
      "r322"
     ],
     "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)",
        "verboseLabel": "Shares granted in period (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r322"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "auth_ref": [
      "r321"
     ],
     "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)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r321"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": {
     "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, Weighted Average Grant Date Fair Value [Abstract]",
        "terseLabel": "Weighted Average Grant\u00a0Date Fair\u00a0Value\u00a0per\u00a0Share"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "auth_ref": [
      "r323"
     ],
     "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)",
        "terseLabel": "Share-based compensation options vested in period (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r323"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "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": "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/AccruedEmployeeExpensesNarrativeDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": {
     "auth_ref": [
      "r319"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period",
        "negatedLabel": "Options cancelled/forfeited (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [
      "r319"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price of options that were either forfeited or expired.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price",
        "terseLabel": "Options cancelled/forfeited, weighted average exercise price (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "auth_ref": [],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "auth_ref": [
      "r316",
      "r331"
     ],
     "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/2021-01-31",
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r315"
     ],
     "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, weighted average exercise price, ending balance (in dollars per share)",
        "periodStartLabel": "Options outstanding, weighted average exercise price, beginning balance (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r308",
      "r312"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsActivityDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "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, weighted average exercise price (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "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, weighted average exercise price (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "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": "Vesting Tranche One"
       }
      }
     },
     "localname": "ShareBasedCompensationAwardTrancheOneMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "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": "Vesting Tranche Three"
       }
      }
     },
     "localname": "ShareBasedCompensationAwardTrancheThreeMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "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": "Vesting Tranche Two"
       }
      }
     },
     "localname": "ShareBasedCompensationAwardTrancheTwoMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "auth_ref": [
      "r327"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.",
        "label": "Shares, Outstanding",
        "periodEndLabel": "Ending balance (in shares)",
        "periodStartLabel": "Beginning balance (in shares)"
       }
      }
     },
     "localname": "SharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StatementClassOfStockAxis": {
     "auth_ref": [
      "r22",
      "r23",
      "r24",
      "r91",
      "r93",
      "r114",
      "r118",
      "r119",
      "r121",
      "r123",
      "r130",
      "r131",
      "r132",
      "r189",
      "r232",
      "r236",
      "r237",
      "r238",
      "r241",
      "r242",
      "r248",
      "r249",
      "r252",
      "r256",
      "r263",
      "r386",
      "r507"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsParenthetical",
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited",
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited",
      "http://www.appfolio.com/role/CoverPage"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r0",
      "r43",
      "r56",
      "r57",
      "r58",
      "r98",
      "r99",
      "r100",
      "r102",
      "r108",
      "r110",
      "r129",
      "r190",
      "r263",
      "r264",
      "r333",
      "r334",
      "r335",
      "r349",
      "r350",
      "r375",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r394",
      "r488",
      "r489",
      "r490",
      "r515"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "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": "Statement [Line Items]",
        "terseLabel": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsParenthetical",
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited",
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited"
     ],
     "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/2021-01-31",
     "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/2021-01-31",
     "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/2021-01-31",
     "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/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r98",
      "r99",
      "r100",
      "r129",
      "r444"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsParenthetical",
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited",
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": {
     "auth_ref": [
      "r263",
      "r264"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "auth_ref": [
      "r23",
      "r24",
      "r263",
      "r264",
      "r317"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited",
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "auth_ref": [
      "r43",
      "r263",
      "r264"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchaseProgramAuthorizedAmount1": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of stock repurchase plan authorized.",
        "label": "Stock Repurchase Program, Authorized Amount",
        "terseLabel": "Share repurchase program, authorized amount"
       }
      }
     },
     "localname": "StockRepurchaseProgramAuthorizedAmount1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ShareRepurchaseProgramDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r24",
      "r29",
      "r30",
      "r93",
      "r164",
      "r189",
      "r386",
      "r410"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Stockholders' Equity Attributable to Parent",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance",
        "totalLabel": "Total stockholders\u2019 equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited",
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Attributable to Parent [Abstract]",
        "terseLabel": "Stockholders\u2019 equity:"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "auth_ref": [
      "r92",
      "r249",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r262",
      "r264",
      "r267"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.",
        "label": "Stockholders' Equity Note Disclosure [Text Block]",
        "terseLabel": "Share Repurchase Program"
       }
      }
     },
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ShareRepurchaseProgram"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_TaxesPayableCurrent": {
     "auth_ref": [
      "r37"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "order": 3.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 for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Taxes Payable, Current",
        "terseLabel": "Income tax payable"
       }
      }
     },
     "localname": "TaxesPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TrademarksAndTradeNamesMember": {
     "auth_ref": [
      "r360"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetScheduleofFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": {
     "auth_ref": [
      "r178",
      "r179",
      "r186",
      "r187",
      "r188",
      "r245",
      "r261",
      "r374",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r513"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueAssetsMeasuredonRecurringBasisDetails",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofAvailableforsaleSecuritiesDetails",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsScheduleofSalesCallsandMaturitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockMember": {
     "auth_ref": [
      "r42",
      "r265"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Shares of an entity that have been repurchased by the entity. This stock has no voting rights and receives no dividends. Note that treasury stock may be recorded at its total cost or separately as par (or stated) value and additional paid in capital. Classified within stockholders' equity if nonredeemable or redeemable solely at the option of the issuer. Classified within temporary equity if redemption is outside the control of the issuer.",
        "label": "Treasury Stock [Member]",
        "terseLabel": "Treasury Stock"
       }
      }
     },
     "localname": "TreasuryStockMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockShares": {
     "auth_ref": [
      "r42",
      "r265"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.",
        "label": "Treasury Stock, Shares",
        "terseLabel": "Treasury stock (in shares)"
       }
      }
     },
     "localname": "TreasuryStockShares",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TreasuryStockSharesAcquired": {
     "auth_ref": [
      "r24",
      "r263",
      "r264"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares that have been repurchased during the period and are being held in treasury.",
        "label": "Treasury Stock, Shares, Acquired",
        "negatedTerseLabel": "Repurchase of common stock (in shares)",
        "terseLabel": "Repurchased shares (in shares)"
       }
      }
     },
     "localname": "TreasuryStockSharesAcquired",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited",
      "http://www.appfolio.com/role/ShareRepurchaseProgramDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TreasuryStockValue": {
     "auth_ref": [
      "r42",
      "r265",
      "r266"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited": {
       "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, at cost, 419 shares of Class A common stock as of June\u00a030, 2021 and December\u00a031, 2020"
       }
      }
     },
     "localname": "TreasuryStockValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TreasuryStockValueAcquiredCostMethod": {
     "auth_ref": [
      "r263",
      "r264",
      "r265"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method.",
        "label": "Treasury Stock, Value, Acquired, Cost Method",
        "negatedTerseLabel": "Repurchase of common stock",
        "terseLabel": "Reduction to stockholders' equity"
       }
      }
     },
     "localname": "TreasuryStockValueAcquiredCostMethod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited",
      "http://www.appfolio.com/role/ShareRepurchaseProgramDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_USTreasurySecuritiesMember": {
     "auth_ref": [
      "r96",
      "r295",
      "r302",
      "r462"
     ],
     "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/2021-01-31",
     "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": [
      "r134",
      "r135",
      "r136",
      "r137",
      "r138",
      "r139",
      "r140"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_VariableLeaseCost": {
     "auth_ref": [
      "r401",
      "r404"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_VestingAxis": {
     "auth_ref": [
      "r331"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VestingDomain": {
     "auth_ref": [
      "r331"
     ],
     "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r113",
      "r123"
     ],
     "calculation": {
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails": {
       "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": "Diluted (in shares)",
        "totalLabel": "Weighted average common shares outstanding; diluted (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesIssuedBasic": {
     "auth_ref": [
      "r111",
      "r112"
     ],
     "calculation": {
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails": {
       "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]",
        "terseLabel": "Weighted average common shares outstanding:"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r111",
      "r123"
     ],
     "calculation": {
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "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": "Basic (in shares)",
        "totalLabel": "Weighted average common shares outstanding; basic (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CondensedConsolidatedStatementsofOperationsUnaudited",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesRestrictedStock": {
     "auth_ref": [
      "r112"
     ],
     "calculation": {
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails": {
       "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/2021-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails"
     ],
     "xbrltype": "sharesItemType"
    }
   },
   "unitCount": 5
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "http://asc.fasb.org/extlink&oid=124434974&loc=SL124442142-165695"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=124429488&loc=d3e326-107755"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(2)",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721675-107760"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1448-109256"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e2646-109256"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1505-109256"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1252-109256"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1707-109256"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1757-109256"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1500-109256"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1278-109256"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "55",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e2626-109256"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=SL5780133-109256"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=SL5780133-109256"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1337-109256"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125512782&loc=d3e3842-109258"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125512782&loc=d3e4984-109258"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=125520817&loc=d3e70229-108054"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=6373374&loc=d3e70434-108055"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=6373374&loc=d3e70478-108055"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "http://asc.fasb.org/topic&trid=2134479"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6801-107765"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8924-108599"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9031-108599"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9054-108599"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4647-111522"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=124260329&loc=d3e26610-111562"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=124260329&loc=d3e26853-111562"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=124260329&loc=d3e26626-111562"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27161-111563"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(aa)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27161-111563"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6911-107765"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(aaa)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27161-111563"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27161-111563"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27161-111563"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27161-111563"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27161-111563"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27198-111563"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27198-111563"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27198-111563"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27232-111563"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=SL120269820-111563"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6935-107765"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27290-111563"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27337-111563"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27340-111563"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27357-111563"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)-(d)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27357-111563"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "320",
   "URI": "http://asc.fasb.org/topic&trid=2196928"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "321",
   "URI": "http://asc.fasb.org/extlink&oid=123583765&loc=SL75117539-209714"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "321",
   "URI": "http://asc.fasb.org/extlink&oid=123583765&loc=SL75117539-209714"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "321",
   "URI": "http://asc.fasb.org/extlink&oid=123583765&loc=SL75117539-209714"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919244-210447"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919253-210447"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919258-210447"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919230-210447"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124258926&loc=SL82898722-210454"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124269663&loc=SL82922888-210455"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124269663&loc=SL82922895-210455"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124269663&loc=SL82922900-210455"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222160&loc=d3e1107-107759"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(i)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124269663&loc=SL82922900-210455"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124269663&loc=SL82922900-210455"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121590138&loc=SL82922954-210456"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=120320667&loc=SL49117168-202975"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16212-109274"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "((a)(1),(b))",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(3)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "350",
   "URI": "http://asc.fasb.org/topic&trid=2144416"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "http://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "http://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(27))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "http://asc.fasb.org/topic&trid=2144648"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14615-108349"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14394-108349"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14453-108349"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14472-108349"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "http://asc.fasb.org/topic&trid=2127136"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=124440162&loc=d3e12021-110248"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=124440162&loc=d3e12053-110248"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=99376301&loc=SL5988623-112600"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496171-112644"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496171-112644"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496171-112644"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496180-112644"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21463-112644"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "505",
   "URI": "http://asc.fasb.org/topic&trid=2208762"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123360276&loc=SL49130531-203044"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123360276&loc=SL49130532-203044"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130551-203045"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130556-203045"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130558-203045"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130543-203045"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130545-203045"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130549-203045"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130549-203045"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130550-203045"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "http://asc.fasb.org/topic&trid=49130388"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "710",
   "URI": "http://asc.fasb.org/extlink&oid=6409733&loc=d3e19396-108361"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "710",
   "URI": "http://asc.fasb.org/extlink&oid=6409950&loc=d3e20396-108366"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "710",
   "URI": "http://asc.fasb.org/topic&trid=2127225"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(ii)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(01)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222160&loc=SL51721533-107759"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(03)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=123468992&loc=d3e4534-113899"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a),(g)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)-(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(3)-(4)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(7))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)-(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(8))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=SL79508275-113901"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(g)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.F)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=122142933&loc=d3e11149-113907"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=122142933&loc=d3e11178-113907"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.1)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "http://asc.fasb.org/topic&trid=2228938"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "730",
   "URI": "http://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.17)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "http://asc.fasb.org/topic&trid=2144680"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5333-128473"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "38",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5504-128473"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "805",
   "URI": "http://asc.fasb.org/topic&trid=2303972"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c),(3)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "182",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123421605&loc=SL5629052-113961"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123477628&loc=d3e90205-114008"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(4)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(1)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(2)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19279-110258"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=SL6742756-110258"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918631-209977"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(3)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918673-209980"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918673-209980"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222160&loc=SL51721494-107759"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918701-209980"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/subtopic&trid=77888251"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(3)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=124258985&loc=SL77919359-209981"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39599-107864"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "http://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "http://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.25)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "http://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)(i)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)(ii)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29,30)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=66007379&loc=d3e113888-111728"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=109249958&loc=SL34722452-111729"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122625-111746"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122625-111746"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122625-111746"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(4)(i)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122625-111746"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(4)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(5)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(6)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(7)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(b)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(e)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(e)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.9)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(e)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "http://asc.fasb.org/extlink&oid=123353855&loc=SL119991595-234733"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "912",
   "URI": "http://asc.fasb.org/extlink&oid=123371682&loc=d3e55415-109406"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "730",
   "Topic": "912",
   "URI": "http://asc.fasb.org/extlink&oid=6472174&loc=d3e58812-109433"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "http://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "926",
   "URI": "http://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "340",
   "Topic": "928",
   "URI": "http://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "http://asc.fasb.org/extlink&oid=123384075&loc=d3e41242-110953"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(1)(a))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(6))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.15(5))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.17)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(26))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.10)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "320",
   "Subparagraph": "(b)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=123599081&loc=d3e62557-112803"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "320",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=123599081&loc=d3e62557-112803"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "320",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=123599081&loc=d3e62586-112803"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "320",
   "Subparagraph": "(a)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=123599081&loc=SL120269850-112803"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "320",
   "Subparagraph": "(b)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=123599081&loc=SL120269850-112803"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e637-108580"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.(a),19)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.15(a))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r476": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r477": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r478": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(22))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e681-108580"
  },
  "r480": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r481": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r482": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116884095&loc=d3e14764-158437"
  },
  "r483": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(cc)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116884095&loc=d3e14764-158437"
  },
  "r484": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438"
  },
  "r485": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439"
  },
  "r486": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441"
  },
  "r487": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117819544-158441"
  },
  "r488": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r489": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669686-108580"
  },
  "r490": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r491": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(ii)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r493": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r494": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "440",
   "Subparagraph": "(a)",
   "Topic": "954",
   "URI": "http://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(c)",
   "Topic": "976",
   "URI": "http://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "978",
   "URI": "http://asc.fasb.org/extlink&oid=123360121&loc=d3e27327-108691"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "985",
   "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756"
  },
  "r498": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "985",
   "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756"
  },
  "r499": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222160&loc=d3e957-107759"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580"
  },
  "r500": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128487-111756"
  },
  "r501": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "730",
   "Topic": "985",
   "URI": "http://asc.fasb.org/subtopic&trid=2197926"
  },
  "r502": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r503": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r504": {
   "Name": "Form 10-Q",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "308",
   "Subsection": "a"
  },
  "r505": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r506": {
   "Name": "Regulation 12B",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r507": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "1402"
  },
  "r508": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(b)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(1)"
  },
  "r509": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(b)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(2)"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580"
  },
  "r510": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(b)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(3)"
  },
  "r511": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(c)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(2)(i)"
  },
  "r512": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(c)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(2)(ii)"
  },
  "r513": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(c)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(2)(iii)"
  },
  "r514": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r515": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669625-108580"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669625-108580"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e557-108580"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124507222&loc=d3e1436-108581"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222160&loc=SL51721525-107759"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(21))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(24))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7(b))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3151-108585"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3179-108585"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3179-108585"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3255-108585"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3255-108585"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721673-107760"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3521-108585"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3044-108585"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4304-108586"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4313-108586"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4332-108586"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721673-107760"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=SL98516268-108586"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(d))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(e)(1))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "http://asc.fasb.org/topic&trid=2122369"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793"
  }
 },
 "version": "2.1"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>74
<FILENAME>0001433195-21-000080-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001433195-21-000080-xbrl.zip
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
MLYJ:DS$/S;#E5RK_+%BYL]-()@8:4U#973H=*YH,^VI*5/!!TK+]*;BJT^)
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
MU<POQ?HXP1_-H_XHC_T]\]AH/P'FV9YP,*9H_)-<T;,F]G P['7MX7@TA?$
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
MLG=V7;,'@;%6!;_B,&+Y2,9@4V6HWK/E#I]'M(A3LXA::BP:<1Z)@DE:DA$
MO)8CYP&#!S!LF4P#%8D\B-%HET&&VF$QSNA,73%:+F82;D49(_IC.&TW!V E
MH-L+!P;#KST+,F"P@@;HRXG:;"<)JJ(#8"D^H5F^P=*D$0JGWX*$O0;VV62K
M[FZSL>J)V5B%8WMC<)VJR(CF*"V'('Y A/_W3NNEM[^]O;6];33<X K$^A7/
M&^8<@V !Z0ERG=8M W66;!V4%; D+!DB&94A63KZ* CFM-PH8#--G&0Y2:;8
M7$0EVV*L2Y/"GA=+ECA:TZV7;W(QA;_"N1X[+T#^P=&B0AX#A.5$%2@@8:LM
M#8#$I6U'PTT40&B@[ P#> R<:O0#$0F(2(D;@*]*;P\+)O."Q"V\!3(4;-Y8
MDE2'M<1SA.XF4;AP#IJ1@_!3DLYB&5VAW@;G)8AE&@ ^)T@%TRR]!FTOTCH7
MBE^)VX&CDY"/^65P_?A.,Q=/#$LF!W([XN(MS.%Q2.>]!R:=^Q+M0>+Y"[U5
M:];<NHMVL!$%<+;#5TCZL0QR:8W?RNHEQF2RRU)0B*1V_QN6(DE15P K"QB_
M(T<;"@&ZO&8WWVP(NQ% 4,O(>_*:_3#7<BDF:.[2)+U=W1(,\S0&Q7+E+7^_
M W^1SA<WZK"%MO322GSC:;SZ(KGLPS3V6[M[K5>[U_N"]%4!Z[7[:@<.A>V6
M:(JV\K_CS$QS"@KCYC"3P:=-\HZ^#N)9,,^??9<(+['$-(CP.-J,Y8CEUKV0
M;<W,^3S86*]P:YX6'7^L](".\-\M#QZ'_X^ZP1VU #(<04#HX>BD':)YHR*C
MCMFC?1@DG\B12@\&,:5BN>"/3U*!!I ^/T<*2$PF(@(*<_QQY-&W/CZ<3R;!
MJ+)^E,I!XF@)9J+Z>+4S!:T/M#0^A/'F;J_O2,4B^$S:8%F +D<6&6L9Q[!
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
M;W5BHHL13WG HS)+5#Z6-A# =SIF)KIG0Y#I$:57HL6*_DXN5U"AU-!6MI8
M8^Z5(];F1<THOD^=QJD8(I3JN@*O-#8J)E[Z[DP9>9$BG<YU%&'7YC2,D&N\
M>)QQ0=U.Z!>L<38WI]:&;H#%7WA%C0!?=V#O/Q;?T<$#\QWU,8RE0\5/V(&D
M(SX8A/>J]!:OJK9TL>$:0$ 5AGIB741HX_[-I8,,K1H:#"47\VN*20"%AG5T
MTG5BW9"[GA*DZT'Q82JI!W@HWX?#0395QX!,:A=8)JELE7,?#.XLHW!_5I-R
M<H>)Z="3R031'1GD9\SHSN,:'#I>J#*80ZZR*EN$YLX9I&Z8# M-@T_8@/M+
MQ5ONXRWZ;ZW%R7?=WB$F)5R#A(H\<9VJB%N.ZM@@+IRG > P)S:R+5W<W6(A
M7R&K4U(*QQ8IPL9 ZX2.10VH,,.N F6G7S%0K2;3@)*PJ#*:I@3*3?18Q.W+
M!R9NWU&=-!+P23![PO*V$0)P: #Y*LV%T>A&J_)X+/@E" *=;<&!Z&048T$\
MYU[EG-?X6&C^H?4&>"\#R@%\TN2.JCTO0T.!<<4(&L*1$SU&?"K!$:4(SB!-
M=,, O(KP,H/,YHMH"-OE)&>*8S&\O).,38>[)R9IA#"*5.9E*I\F,K"=IE</
M_%BXZ:$A3K<K7>K>0->MAZE6M-C@3,'YQ)82LBDZY/8,>2V/REJ@N>U*@;Q5
M[VXQTKWTW$0]:E>O;7-6(5V^)AX=C12IUPW]=9RZ@R;T9L(PJ3<JL(W\C+9=
MP<&X4\6>&,/TFE7$H9RG&E26--4D#ZIV0J:9!MQAT[D:TJ[&%M;&ML7$[A^(
M<**A8G1R&"FXIILFKD2&;>41A2&8/1)1L?/0<"ZK8^4WL)*P1O\HP\A?](2%
M1I^;GS" 4U7%DJTZY@QT8S\<RXBJ8Y#B*?&1 $<6BI",WDHVHH=URTHGM$?"
M:9Z#!N1B \6 $*7*R;2&P;1R7L::GV"M#>,_Q<1Y.>)R1;8I)B)-<2+H4%)G
M21YK*?LXPWH;[ ^))&(L["@-2Q*D6Z*[]"HX?6ORH[.SRLLF8<*BBGZA=CNV
MPML4-)5)+F,MWQ38P+.$V\"08&P01HO \0S7<*V -DS[TR]K)T\M>>'5C^2%
M[PWN_-T/IH<&P]5>S/\^ED\Z?=$MHS.ND"!SQ&)SLU\WT_[&Y'D4C8F\2JGR
MAE5*NA>T-.I*OUCA4'4CZ-0[(S\63>ZAX4]A__-(-XUXRHSREGK]R8P#IPUT
MFZ0ZYJBU-%19(HQ<&$2Y6-FZR$S,LC2YBJB=-398S5.NZ4H0OS,E>[*F<I%R
MI8J26IC2N'ENV6E._4<][M7'#A4$H"/DW45W9^6QQQIU);F$E3 US6"-PQQS
M9 -5/J\9B$XW)W/4P+P^5UM6R<O$O50D,SO!87H<T\$<B!*S(*(24R)<BZY"
M97TLXN"A(5OY"1;6+S9D;&/WSB?N$UI@- =4BFKJ>-V"RMV:Z#XY58/A26J[
M9O&![!17U[Q +H0"#)-7=DF] P[\: $LN?.?CHKFLD#?$GM9)-I+>8GH=#*R
M4'14W\Q-[4W)MVZY8UXA7WZ'U5-F,P=DPUA-ZT#Q;*K)K.XIJKW(UI=CL+6U
MM]V"*A^S?3_6+1: -)S^G@O-#6_AF5I^&Y)T\K.BFD3RE-/K+'BQETA&MRS3
MK7#9YTYA7Y.P@]B&/#60;F/MA<3- 5&)9GS5 <Q2']F6+GKD8Q&<#PVOZ'?=
M6W8N?->_:G?_"4O.96\Z$36N3+UW]:JNP+7&O8S5R:YMZME>9KI)'NQ&B0P]
MBDL=U+*U_=S3'O28D<LK7F7#4 X$.MR20B-SF/[8\#V;*C>V@&YZ(]L-VG5/
MJ631V>35#"BVO%:W$D808D(?=IQ<!#C.+BX5WO]^K;>C&]>5L@ZF69G(?28N
MNX,SO]\7E^_]GG]^O-[RVUIZ%'I$R14;+=(-IP[9XZ_"SZ3.PB,%9[Q-PZ1
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
M0822!A$I4S9(9-Y#A,SAH\((^4@BD@N#B-F4[9N4F)!&R'*XI=>(R2BT=*D
MJP(I<4RB6APQS;QLW\3696(>J'(,$<,8YE([BY33*302 <AW840VS;)]DQ(.
M#1"V&"N<-@$D$A62GE.+)*)<>H,71CA3+MLW*?D0R6Q0$5&#(C,D6L(<)U:
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
MOR^,YL@YJ9 !DM;(.HT#,PX+$K0F?-%5__&26VK^_4#"SBF*J9-4, N61'F
MD[8R.0/"5:-"[./Q\PZZJSJ&GDGLL";$> EQF2':8I]VQF7,$>65671M?YBT
MEAI^OU]OE3"<:($\&'/"%8Y$2LJCC%ZGW>WF'SS/4W#*::XIQXJDQ>@Z:L+2
MI@4L*,)HH-5(4I_;B?*GR7PA7J=R*#YRS;0+&GFM-':!1#"M?#@,B\:Z-I>R
MF].AF%FF4:"':_\=*/V"]N/(2321IP*KC"H.<7XJ'84MDTIIO6C:/[TTB@FN
M(@)%#A"'!>H$XR >;^$;YZ,/R$M3!6U?IE',1KL-V ,KA6:@YBQPB+QL])8$
M@S4B1%9A9<:\IE%,,'E=(L=B(%8H$)*@%EE&M2).24;C:)!E4?5[@=(H9J+A
M48$J&Q&D\)0%Z2S&F 84B3;$*$063,-GF48Q.8U'5G)%" K> B<+L.%IH\-
ME,'2\! 65>,7/8UB)@R@B.(XA>W.6V9,L I+(07EPJ<]N-R",<!LTB@F6(<E
M1AP5BAHYRBS$[@QXFC(3''CY5/@*Z/Z<QNZS2J.8B=9K3VR4#ON@(S/4*@1H
MLEYB)!T'U"R8UL\LC6)RBL\Q04XJYAP"B:&H*')1(.U]JBZO%S:,7^@TBIGH
M/A>,8B6-<@RLA_!&DN"%"CX:&YE;M#&[6:513' $SQD:F= 0F'F&M-.$2LE-
M,%IS1T<95 NL^HN81C&;T7H-XG12LQ "TR18ZS28$*J%(JFLU()J_C32*":G
M[8Z+)" B?1JO-TPA)7A:.,'!RU=NX0W]HJ11S$3#12"IQ)954A"&B#,B4N0Q
M,X1JRCVI 'B>I^ \B42CM,67\TRG#:0-]8FKD<;4^ KL,_BN94K;?".:7D]M
M;AZ!N[X?3#>=4)%4-N(P#<KB2#GT%"**!1Z$U%9$$J60\RN->[2G#BS<'K0K
MTO56,1:4M-9$SZCT5NEAZC"(P6D^Q_LEWM?UYKQ"7>^I0T)#>(B"84PRRR$<
M9,H&[;R7HSIJ<]GU8P[ZRP#'N+!W%$+_;>'*,;P[WD4WG)C<;YV?P+4A32#L
M](]"=V/0[<*CAK[)_(IK /Y4*:O.(+7E2@SM81VF5Z-[P)_C&XR/C#^G.]P_
M$VBM,A0'HH5A)NTI W)F2CA)5* B+H+P;XKZ;6YLWGKZ$NR34T_IP5TC'!M&
M!0M&*86\D2@Z:600J@(S-?,IH0F&;L$'SB1Q%)B3>V\#"I@1'U!4WF&U:#HT
M[W1Y>]9<8V6(BDP+RH(UR@"W"6&9IB[:4($-6^9..!,LTJ^4U893KR*X'CXJ
M3)0%OF-2,2E8Z7"726=/KCF/Z@&L,T0@DOY%:^[S;G#]XFM[7D91XZ./-ND0
M0JH H;YSBC"1 AH>L6/>24\8H2P-!@P[-9NCWKT9B]_MW^_$XG=/_96DJ&"T
M4TYRI0V34H);Q+6+TA),+?C'\\\4ZV>FZYL7)S>#\=W0ZW=SUP]^KU^X+Q\
M-<G]?1>ZL>BV2V*Y^KXJK.$(CP$IAKUA6F$M-?:>,@KRXX+K"BP:FE^)S7YI
M4904_"82HV*"<6<43XG(%&&C22"Q NN]YT^J3[/.6^M(P:Q@\*P8E<$JQ94S
M8&P4$0)7:>7G'8F-O[Y/:+M['Q91ZQB7$1'GB=>8V0B63W N$:'4&V*5K*XP
MAQE>SX4]"45(.@9J:#RS'IS!J"T1P2AOE-05J(\U0_$]"4TJ*KA@2A"9EF%9
M:H0@B$7J>*I,2LW\2N2G9Q6>K:R)%T9+AQ0AC@7,#02S*DKNN Z*<#^_LIZT
M1'X*7)6:-W$:6Y^*$!H\W,C:&4HI4413Q1"J@)_Z$=R;O'-XV^?9.S+=\)?I
M!;^1$B\[O>& 4PF++D#@*.QTGF)AY9)9OC]!"EB+##M$.6(&I?DY"29>:NZ-
MCWZ.K<CLT;;DML>BC<?H5*1,(YI6F2K-(+3#"L4 C@M!HD+1P)+D%C32$1PS
MR3%2TG$F! *0<BJ9\ J^%*@*I65GC]&%IL;98]0I:D,T8*MM9)$Q$P41G C,
M@T!6VVK.*51Y\D @$;&4$(_3P)@,FF <K8B<BQ"21.8_57;Q6.-7=7LVBRG!
MI$",KP/7CEGJ%4&6*:<X1X(0I2ID?QXLQS< H7Y*ZT]OM(B$C1V6PB+AO96,
M<V99$(8IA1&+VN@J.;X_)52TB$*UTIER8400GN$(\J7>"$TM8MQR4X4JDS\K
MU+R3<B064:B88N&DQ2K@M&TX590B\+4$MUX*S!9>J&H1A4J\#C8:XTA0#%PS
MFVH(L^@I)9YK6J59R IY9[>XPG3\HJ++!LZPI9)@+IEGRAKBI:9@&233GK'%
M1U?SK%BBZXG0!68G((&%\IPP29A)^\PB2L#UB"DG_!F@*ZWY6^+KB? 5D"E7
M[(< 7(4-,<@JX2*ADFI/;07F&^=,I$^T?;$2S$GDDD%)^U)ZIIVS)B <I$%S
M/$\W1],559:_"5YA:ISF@;G(+48Q6B:DHEH;O$CY5S\AI9\"8:5F3I410>M
MF4$0N*B0*G4Q12U*9?8IK\!JVN6$:;49B'#"L7=6V^ 9D5+Q*&F03"J(KJW1
M2P0N.?!I$8BI%-90JCG!##MCK8/;.R]"5(+3*FSQ_NRH:/;QC<.1H^@""9XS
M$8FQ#F)G;01*1;'0P@_H5I$^9H\:[7P,!FEAN67.!V.0-%(Z;V*0%H]'C%E%
M43-?BP'9]#=_#3PXEDJ4.@._H@;[P9$V)FA!K8RC=(V1>-%2O+^20_%0\:*)
MB9>G:D\^.!&-8"Q:K9C G 46L"$,W:UZN!3O=%)D)J:]%DFO0G"IO(/ P@H:
M4&!&VR@-<E6:SIMJ@F0S[[?"3MSN^/PT]P/3NC;E6^?!#?KY*1R.N0O=1;3I
M/#(=E(#(U6FFI-4>62>]%<$:HHBL7-;D-]835R1ETCKEP#E'0-*."8*MMPZL
MLJ B&.$-KJX63TTNL]<I'(U4:792,>A7;30%J9*@L>!22E&!(E5SH%.3&R+1
MP5!&G)586J9$U$PPIR2BRF%L8ZANV#(SG9I!<)*R^RE!(=43(UJJ& C'U.F
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
MS+_?GU6#XVSY=-W[;NCU1K_>0@/PDDM_Q*67-YT%H97%T2OH9 .$2@S.E*;
MJAQ)AXU$S+B55QS5-DROG[=R -%F-S]=N@TS@/F[ OSHUD%^LG2*'XCS:Y]!
MJQ LERPSUH!3C, ]5D'$#$0AO,)>F^A77FF*L7R\NR > MQN0LQ<X7:8"77S
MWVDA>0/^W.DVB[/.$L8_@C&Z2=<A>L,HTAFQ#&<,"YDI).&C)TYQ34E,6=Y[
MIM,WM;],UYJN6?T%JKX'QJT0YPO%LQ^\&(&Z]+1WNN_@3/"UEP3]$&1O7R%;
M22ZD##KSU+",1:TRZV3,<%1>\+0^C-N55QL .)!/)S?3<4 J[9L_-N@9X3@%
MBR==@'!^8EJU,*YV"%^G<H>]W]/4[(*[>X_M.?#):LDINR<H?%'.$/QP*EG?
MGDK^UAS%T\S-S"I]_VX#OC$5](1>27)$UKO!5-:C_J4):_19(*2X\SQC#,>,
M6>,R@P(!ZG5"<!X%9V3EE4+\+MW^_I2I!&\+4/5W1T7GV:82G'U6@6 ;)<F"
M\2)CWNO,4 4^GXZ<4T:=E7'E%14L$TC3GTU!OT,[>JJT\W"6E2SQP'4RP'_^
M0Q$L_^C5^J$53A)0:IT2*:MIF+,U2-:D9D"O:^X6*\]Q9WR7 ALOUJOP#H^=
MXW\-GG;HEHJ_6KK=\,&,G!#3\>.O8MX#/JBE/%Z0;TRS_9W#X&N]Y&;76J;7
MKW7+',N?%_1L3.L>N%;=O)_##8<)#J$+KW4RZ/8&*=.A7]3@C'+ &9/?[._)
M,4OY<.NN__)!J4+?2DBK2J8#I6OT)S,=OG=;3-:H^+F<A._=EL-!PGX^>^#:
M'QZ))(7:+\$?KO6*5NYK"8Y_C Z5B2RWC\R)$_U#0D/?7_Q;%EY/2 _&'=4<
M:'?O <'&L^ZQKBGMW=Y%VQ:MB716=_C@9]:1C5&R68F\<#XT,S5@W[.C'+ZY
MIN@?CPA_U=DCPKR_2Q<"ME^9N*>>&QE9SPM,;$D:E8P2A@-NC105M ]:^VUX
MQJ?]\\:;CWG]$YQW_#JO'Q]>'C37>>.X]:5!OAIPH]".]D'[8[Y__/[\X'@+
M'7S:/H?GM.N?MB]V-ANM^N87LO/I/=W_J,YO#B5SPA02AF:1:@C]: B9BH1F
MGE(E0D#>*;SR:B,1<&V]EO+)01/*\L6KM?^-U@ UN'9BNK735+7J)T;CEHKQ
M5(HQ,@A#>[#4B@=HQ=:55B#HZQ YRIQ5!H)M$C,CM<\"0@YI92AC$':OOWOW
M>OJ07PRK/"5UN#N+D^SYUQ,X8QNR-;+VE5UE,&V-N9ZXD2)B+P/)M)8Z8QCQ
MS"@?,RD(MY9Y^(W MUK?VUQ_7WO3*BR$\JG>0.C_>*+]@8/G=^+<XT&OG\>+
MV<3T:<<HEU+N[$7-'07WI=9.Q17.CD*J9E7&[S<6,_R&?Z\=F5XMYBV(_$VK
M-1K)2 ,"_Q[D:3B@7]1L&)T ][P:$: IAV^X"G T+G!C.&&,YS16D ZG58 U
M#T<A3DBGGG2#"V74@$FM7"C=J_T&]P.MJ?4&X.SVCHJTHF*\X*Y_9/IWVWYF
M;K<R-7%X\>@=?E\M1W%^(\-WM*![<-P>PQND\\M3X:+4BM%]TL+97MF(LI%I
M9$>CFC<7O;6G7[JV,>AVX?G#Y;K)?O9-?]"K)!O\TM@S_LPY8R)(FFG'1<9
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
MTAB"#)ZOK6/:%FCFH_G-BW,M2AI5@\)<*YI2,=_TJ<)H4S':E>-R.$;*N8^
M?/*,F681%*<2(N+>4VN0QYG1,%Z89(J"\B72,@7E]T?Y9$DA@JWQD@-)QLF'
M8@U8;30(X85T)A*C;$(YHFTNZBK!_*@I4PL?;MGLG9QTAB<AM^O(C8(R\-)U
MAZ[+K8-^V^L-0TO_Z['[NMRI)=3%#SR,?/@ZZ#SM=H[_O[5A_RQ<KPAR.8H;
M7;\Y.8:%1.Y (E=.MF&,K% &@0V" Q.>@T7!@K3)1 $SBUD5#?V!/99M<DZS
MZI7)^:"3<_+H5EK=;*0A25B75CB%0R[<J\ ;3+W%QE*&;YV<RYX'<E.7N5!U
MF7OZV%WF&OT=<Q(9E\K&=SY??/?$1X[.!L-._/8X4^=%_V+?9Y G4;OUSY]1
MY8O0?WUH^J$61V%G[]F/E'EY-=6,?F'Z^_W7PYS<][<Y/@OC7S_W%%#AT3OP
MZ+OA[@6/;FKT_G\/D3OYNVO>ZK/]DUW^CNSR_>?I&]^^^[:_]>IPEVSS]T=I
MC$ZVOZ;K26.T@_>VMK_\[_>=KQ]X0)'IR$!X*8 YJL$08H!Z@A(O4R:)_/EB
M>\L,NE] J<R@A9M!FAH7%,6@D<9Y!J5UG"2EB:52,I+DR.8(.WJ22._Z&>QK
M3[1.3;_U.5NVW;IUU@VRQ0?U3;@[!S>NSL5JX@TVSH:'O7[B9U_B'8\R!W?Q
M!XUHL!SSI""Q3(X.CZ"IHL",19@FFZMH?L)B-\ZG&9; ,I\6?3X1ZPEW$KQ6
M"!B6!'1(CY3#VDJ7S)Y]$\+;B=3NP&FC^=4REY:M D2/06])4[H\);\D3WL0
MNG>9CSN#P=G$7"SKZSSGXKLO'PBA-.KH@%"7G&5J;>(V*L%PCFEP$?G<X&9!
M)M/^V7 P3),_^5IE1CW:C**:QV@LF"@Y,.81:,X2V44<-<%11!X>9[4L,VHQ
M9U1R&5UD7$)P.J^7V(**44$D+$2I$Z,XM3 SJBQXCSN9K.2!X2 !*Y+H*0<G
M=+0:C,&"Q1B,1$E\=7N_%EYWEV:=RN:5+.N-":5E!JU>;/WGK!M&.ZH4M5MY
M9:S>N!5<.+&A?_X2KEY"E^%9W_E<,C(;G*MTVR'DJY10!9F*(S8M%XSW(",U
M2CH7DROE'3!G)6@;"7!!J?'16V]P$T\:%] V,?6H@/;A0#M9'H 8I[ S@(P2
MR4- .6%:!' "!XXQ\@C3)H)V3MO"3=[^VSPV@T%K(]W^R4FO.\L>(-?&R:@Y
M"EHQ'IE1CKM(F7&!,H[CG7=P-JM+*=LW]8'5_41M[^!WWQW:??XLC</';_L'
M+[^_/]CENR?O^!YY^>5=NM_]YW]W]H[^//G?[SOD@Y*&BUR0+5+)@!%/P'AB
M $>&DLIR+*"?A<YOGSY$"!]5(-9(QF+0-AC''"'<":>\87?>0B[3I\'3)T3#
M%$E./P\\0IHR!@R6,JT404BK"=8YEO3PNW\SD-44W<HN)V+9JFG$!'SYY0/V
M+"HN,2@6#; 0,6@3TP)/,)><,LURY8_I)M,,U%4FTR)/)JM#($GC@DN<D1;#
M1&F&VT1NPLCDIR:_!:.\[X?NO_$W?43ICT6@PA^"IF7FSG/F.O:!41V%"A2T
M,R%Y;,%#<M@HF$!I2%05 \D=Y'4[+='7Y^GTV]&/0I%EDCWB)/N(/T@1K6-2
M@34DT:-6.=6+&I"8<>Z-5Y;+:I)A=L,D^R'4/CT1MEOI\Z<A?=WG</QM(6CQ
MIMW),FWG.6W3^'WY(*S00M+$B9:()!)S 0":'A&FD<QQ:,M\FKBJK=7U*@"+
MPHYEKCWZ7$.YG:DPA"G.P-G<E\AK!Q9I C$Q#XE2!Q58-=<DN6&NG9/DC)N0
M5YERABW)4GCP;KL;]UM<KE<SGP!UV<2X%Y#'.X^">ZFUB"!YY,!<B* Y=X U
M\9@(JX2QR9EK4!W!@LIZ47F_9;B@LG943A9D\B9$&RDXR0BDA1*#59("0UPA
MI@FW)#8+E>5,X?FFXI]U;"I2A(AQ1CNI6/!<J5B=/PLHYX>PLBOT>##]^!,5
M_.QH]_DVVCO98>DSW_:V7AV]W]I(8Y.N.5UO4L-?=X]VONP>''^J=H68%5AB
MR4$2@=+2RQPD,/CT3R1.!8P=OM^FHK',>1FD<!(SBI%1U NJ;5K3'79$E3WI
M99@^,K>G"(&"2C9.*T.:2"8*#"(PS1@/Q.<XT\-O*LXPV\H^T,).P)=?/A"6
M%G""8LXYSI5?LTB)R@!%GB(C Y*:3+NI.,/*5R;3(D\F;3VS:?D#RG+4G#D)
M6J'DAW*OD0K*)36\MM[L/<5'8<*RW?.($]>Q#SQP3#3B::8RDU0<MV"4TT"#
MQ=P$:AV:^IS8HTRD$AEOP&S2TF-'$PTBE^M$<)]I4&H@-'(:!6+")QK$O"W(
M743=])LRC[( EZGWV%/O(_Z N9/,VN2)<NF 1842D9D 028M1R3FR==8"#E7
M5L3'G4@,&TVE8WE'+]<900C2^JC 8X61(\8K1T8<QJ_O[<WA\&%M^W[E5-/=
M=ACN)V?*#D/]$!_O^U'+,,,D@91B <R2S/8B0N)BR0W6G.64])EW&,I9P\:B
M\GYK<T%E[:B<V/=#3DB*?4(E0PJ8,@R45@P<EHA[XI,#H)J%RF6O,;N1+C,/
ML3ENG9J.ATZWY<QI9VB.'[L'RU*3TQPZK8PM^R(9=J>[.3)KH:^IZ.M*@V'E
M::#.<> 2YR"NIZ!R]21J3%I;!$NDAI/R%ZB-:^O'4%**FH?>.710*>BM![T3
MXL,9[$)$R0=PU">_/>'8&LT@$,\<$L1JDO._!6X3)AN$WF7OF;+AW-G)V7%.
MO6CUAH>AGS.,3OOA,'0'G<^A]=MQ;S#XUWD#V]*I=MKA_6TNLF20;C,]ND9C
M8]ON9]-N3EIVU.GRKV3=O3#<CP?F:Z&W*>AM;VMC4IP$ZZ34B@-Q+)X?6[7*
M@Q HN;P<(RQ,;A9UC=FNM2,JT8Z&0'<NDJ0 =IZ G= C01K**'% #*; N%5@
MC V B L2&<:98VOKO$EMI><:#6E@"O1!/YC!6?_;1?*S&:9A& RG32FLK2K.
MQ?5,[ X61$Z%R.W;]P6/_CQZ=_"2[1U]XKO?7QVE<?FZ]_P=WSW8)N_?[M#=
MK9?HW<&?G]Y]_[/SO]]W^ =$.<7&IA57!PG,:@$V$3$P27R:E1S9>^0+UE5^
MJ\R4!LT4[M,2C4( AW*Y+24)Y ;E8#R+6'JAF$9KZPQ/L7W<BZV;BK[-N7CM
M2@>0YN-HW3F"= 7Q9>?J7H ?>U<N("*Q<2"B3I#%S(*UQH"R6A,BT:AX .%M
M>8-@N[N'58*^S<7L'**^!;,S8W9RMYE24?5+,93FYJ+$@_*Y_:WE 4D4DB;#
MS<+LLH=Z7X6A24_Z5C#];KK@00GG+O8F\X5!M\_M.1$^V@JQXSK#0F!3$=C.
ME=;=%D=) H68;):+5U#0$2,@G 2OA.>&5-GRI*W$=5^AI+(M"Y#GH#P*D&L'
M\H0249XE5YL$4!P18(8K4#IX():IY/![I9S.0$9MVB@@UQ3OK7Z;R@8+DX/>
MT!R/0B8W-EQ_[&0XV^NGBX(T/D_S> YZQQW?NAB5I>:^.8B8UQ-FWZ[,7;AN
M*J[;G10M1$4N$JD!C]X#DXZ"HL*!"TXBG.S/)$]>EY)M(NI*L[DS/!8HF+*Z
MD)^#W"F0GQGR$_+&2FPL=AHD%A88IRA!GGO06'AM)"/(B QYWM:DKKS8!X=\
M3;&81=$^QQUC.\>=82>7E>CZNK70+UR]7WWNW-HC"SVE:5A][\P>ATN+S\:6
M/RW%]@@F^>>T8K_&\5F6560.PO&O,68VNKZL*3.N*2\G920/7F$N S O<YEY
M414"\X =3T) $<\T6UNG6K>1K.O 6'TH>N3(6:'30J>+)\H+G=9,IQ,2'0L2
M$ X>!)<2F!,$K. 4!!-.H*"ISA*=*MUF:F:)WA@ZK33\[T.3?O0BGVDBJ_3$
M]#]VNM7/_Z#/74@SOU\W)C'Z%2A)I<</0\NX? ;&=+_E&B![O6'Z]F&OM=GK
M^M =!)\?5:-5'9IYUNF:KNLD$5\5,#U)%Y\T?#]]2[?523?RL5^=[NT/<RK8
M\# ,0KJEBS<^N9KN-3$\YQ?%R!/)TX6?]@;5B;2G_7!L<FV1/[YT_/#P@DDF
M/GAN<#3^B+'I:L^&MW^D*6-/?TA^F_@W7VW%.I1Z$@(V"E/"D)0V"4JN@DA^
M*=&6^@\X]YH;?>BP?W$'I^9C -L/YA.8F&[PJ3G^8KX-UGZ_.B73?/QAW&\;
MLHG92ZO%_Y;QBO'!QFL$F<3FO;ZI[)PX(/3SN]+EF,9<2^NPGY>P?_S:<C*A
M+Y-%E4Z95[\$D'__;M9OFA6WFN(1B$3>.)DW7KQXMO_7SGZ[M;.W>3O.&WKU
MF_M[6]M[K[>W6NG1ZW0?6QL'Z8_7!^D_N]M[!Z];^\]:^R^V7VT<[*0WM!;M
M_GY[L[?Q9FLGW=._%N[2.]VTCO3.TG?X0;L5OKJ0%NC3T!]E([?,25(#P\'U
M^ZK[<LF=2/T']?*30>85D59Z8;R851HE7>NQ.1V$IQ</_O"=P>FQ^?:TTZU^
ML?K0'^??=;X"9OK^,<J733AZ><SLN89U9O?S:./Y+Y^__*1ZZ0?--7J-IR4"
MX5M?1D]N?^UG7XO1$\G(O;[VYZ]1Q1[B8A&^[P7][#5.;__1^UZL?L*(6)AK
MY?)NU_J+2/E]6V#42A7J3O[PS7[.Y3WIN]S3B)D?YZZNT?4HP)_T3VCMIO<=
M#EK;21;Y?]O^[^OY4$B+HO8=XOF_W,]<T)%YW?EZQW%9F3D^$76<PCMOMIES
MH+^N&[X5 DLZ<*@.>EC2L2F3JI9)-:=3Y0]SS[\.3IR??/@<NF?7RM<\;!)0
MXT;A[ALQ4]__(^VSW/'&IZE;RHAS@AOID[M$9+!$:((X,E)99CS[L%7M6S.$
MH8;C&]6L?-;OG>1P5[ZZMYWAX>;9( U5Z&]_=<=G>8@W!H.0_L\WJ>+'_NOS
M39B3]X?OCG;HN_3=>\_W3MX=O#K9>_N2OS_XQ'>/MK_M/W^7?_=P[^U>YW(3
MYN@-WWW[!NU]W_F:KH'N';TZVCWZN[/_?/?+_O-7)^^//M&]=,U[1\^.?MR$
MV3OXE#[SDNX>/3O>/7)D[_GNM[VW.^S=]PWV_OG[D_T#AW8/=LGNV[UXN9_]
M&GWYX#!GF#$,GK"<&(D"6*HL<,1L,JV3SKJU=:7;R;:+DB154UYDH<%"@S_0
M(#8$1:2(X9HRI952V'(KD64T'^<<T2"ZH$%4:+#9-/C]D@:]0DXR[X 9)X!1
M[4&%D&C0*.<=,HA1GV@0)QJDA08+#:XV#;*D$!RSF 9M6/H?BP,S,C"NH[94
MTW,UB(L:7 @:Q)<TJ"3CC#H/-NG"W-Y4@A8Z@O,J27^GC$<H5Z.5;2VNM\(J
M/%AX<*5X4% 6B;:*>*^9-CIC! EKC$TJT0=\+@=QD8,+P8/TD@>E#Q0QAX%*
M28!Y04!;C$%8Q&F4*E 5\]%HVN94+0H/SJF.RZ."=[,W&(Z."O5.0\ZYZGYL
MA:^G.3]Q\/1!Z[J4[VC.=]19(0#K!9CR.36P/UH@6K^%O!141>K3LSZ<]M."
M4F4?5K@P)[UT[=^K)ZZ5DYKF*'"33OLN=L [6W _/N_U?'7$(/0_=UP8O.X=
M-Z>?YB*LX)<'"_(*'K&,0F$"WOH +,8 VC,* 06G4 @T!+^V3DE;W5#0M#3%
M61H<SS-B6W!<%X['@5D1N+?(1S":Y\ LDOG$I0""@\L>%R:*K:T3V6:XKH!$
MP7$#<3S/D&/!<5TX'D<6L:-(,6]!:<&!\>11J^@-4(=RK6)-N%1KZT*T,6Y2
MFZN"XP4.F14<UX7C<60LF<9H02/08"PP8C!H0R10$SS"V&K)?>X/TZ:S%T!H
M7@WCQ8@(O$Y3>Q0$.S']3R$'P>[EZ#>PBNEB._JOP_%Q#M%W_>Z%8;9'P<E"
M2-,0TNL)1S]Y\C2J8$$@K(!)(<$:Q"$H@:A+BPS&N1RQ;$O,&E3$=,6K$2^V
MHU]P7!>.QXY^P"8Y=\DC\,;J+"PT*,$T<&5%XEVKD.,)QS3A>&8'H>"XN3B>
MIZ-?<%P7CL>.?HS8.AD(8.(H,!8T:)3^P=PAY[0-%)&U=4K;2L^<25EPW%P<
MS]/1+SBN"\=C1U^GF9067@_&" _,,P%:A>3W>Z:LPIXHYW+YW#8A3<+Q2FW]
MOPJ#8/KNL/+U3_L]?^:&"4.?PW'O--?1*MO[3?#Z+ZR4Z&EK;)M"4/<@J,F3
M:]%8$:25H$C>&8S:@#9*@G 4:RY86F9<SM%K<S1SM^JRH]!<*,_W3%:!<FU0
MGO#]$39,))F1+,@3E+$%JYP$&I(K:'",4N5C!Z2-25W9M@7*#83R?,\5%2C7
M!N5)]Y][%(B%X ("QC$%FT@7(F4Z*N-LLFER&W1;J9)WM\10GN_1F +EVJ \
MC@ H:Z11,8*4&<I"4U!!14A+-<7!HTA(C@#0-JVM-$39ZI\2D<]#-^1"VE5F
MOS_I=#N#8;\JA%UV_)O@^Y_;)S'3QA7K%'*Z!SE]F_#^-?(>)TL"JLB)Z0"*
M.@:$RA@]CUDV)I>!M<GLWG_99F@NF.?I_1<PUPKFL?^/'*9<J)R^(TU2&M@G
MD4$P!(T-EMH$'%$%9JEX ?/R@GF>_G\!<ZU@'D< +%<R6AE!(Y,S_5D"<^)E
MT$)$P4FDB:6K$SM\]DZ[!<S-!?,\(P %S+6">1P#P#S-4:<P6)JS:STU8-/Z
M#)8'*RB/-N%Y% /@30+S2F4!;/WLB']) 6A"&&#21.GQ<<@/,EM-6*J0U!0D
MM3]YUE\J1HFNFGQCEMR'Y$-8P2UPZ:.WRB:OP:VMR[9@9<MAB0$]SU!  73]
M@![' [APT8M(@ 3)<C56 \JG/QE1 4M.19!X;5VTQ>RBHP"ZN8">9SB@ +I^
M0(]C @)I'B+&H!!-,,9$@E74 T>)B(/6GC-:Y>HA7!)\EAC1\XP)%$37C^B)
M.@ ^!.V1 T=%6J*1-6 HR<);"R=L0%J+ZK@>DDVJRU-G<@"5#0\,'/2&YCC=
MYNTE,6=)$IBMWO%"T]B\BP/F\B7GH<Q!H:QI*&NR4@"G#KF0* NA7+I$8PN:
M.)MX*ZU#2,2@O%E;5[*M=%V5 AI3V[S&78L5QOV\BPD6W-\?]^-H O;62VT)
M4(HCL* P&)O+>N,8&"(Q<J77UB5K"SVS\U%POXRXGW?QP8+[^^-^''1(L.<N
M+>U L3; *->0&#M \D@$34XGEC2G"$K29JHL^ 7X#:A66(!_?^"/8Q,^)(;.
M*SPRAB6A;QE8J1A0HP1S47F-54XG9&TJZJI=T+SN'0O8CWBGZWHGH?7;<6\P
M^%<K]GLG%S&+7O=^L8I:>C,M-(7-,U:Q?Q%@&AGRKV3&PF+3]" ZV,@,-@I9
M;'P05G/"M0*",X\A24%I(@%A$8PWGB8R2SS6QJRN @>-D2\U[JBL,/;G&:\H
MV*\!^]\NL8\(%5I(#R$&#$PR!$KF%"?AA%"4>.E(3H&@;.83$07["X/]W^8;
MM!BD&TZ/"@O,E07VQ@H@(H%%)!2H2/X+"TJ!H1X!=3Q'+ZGDT:VMLS:_H0;;
MM>9>A0 6GP :&KLHL*\!]N/%7PF%G90"O-01&.$$-.$&</!,)]]-T=PL1;>Q
M7)C%?Q6:C^X/#T._U9D,8K1;W7"_,HPK<4:LAN#$#T243;#7Z_:N$E(Y!W8?
M3MJ>#$;8J!6C@8-R,A=V$ABTE HT,P%18RW+)\&8+M46%@VOTS@5-404+IV*
M@MR'1.Y83;"D^)1.&L(+S7,H(3D1BD50WA*BDZ:PN2([OE[#Z>X>1,%L<]?8
M>28O%!#7"N*)2 #WB@<A&%A$-3!$<C$V'@#E+HJ:8D*ES7L!B->5PU3 W$ P
MU^#4%\0^)&+'RVY,W)K\&P-!)YPR22U8AB4H9:*.SDAJ?"YJW""XKD:.P3#T
MPV!XZ:>?GX68P55?B:-;M;OJ%X:X0CA[85@X9RK.V;GJI =E-26 ;$Q2WPL/
M"C$&6@D5F'0Q8KZVSNN*&B[HIL " K49/GJ!;%V0'<L$F2 ;,8V@?2YDJC$'
MPVT :8T-V%&)@L@-E:_KA*DW^ I<&[BNUN">%Y ^"$@GO&]/"(O,<\!2IG65
M)&-H*SA8[1/9>DV(R)EXJ!0O6#2D3K.PUN!\3Y]14^!<%YS':ZZA#F-C.,B$
M7V#(15"2:K!*<6ZYQLBZ43#M^F[6HZRZJ[![?C7YWX:$D)#^TPVQ,QR=!3CW
MV(?F:ZE<L "G <:Y0,^2]3;3972Z9VEH]R^/=/Q9&7GTOH-LU>VOP[Y)UNET
M3?_;SC"<#/9ZW7P#_5[5X?6"# OY345^NY,Q N:)]-PRH#Y88$%[L!3I] B9
M@)R66%4["4+75=&U,8F%Y5#DHITJ*!S2( X9"RCG4<3:!F"<8F!&!%!&*<"<
MA\!D(#Z75.!M*1?F?&7AD.4_G5#8I#EL,A%=P5HCCRD#I7-A)N\C&&IU%1%-
MBXTS4>.U]9MKS$^=HU2(I/E$TM!3#H4^&D0?8S'BK252R@"6)>9@ B&P6#$(
M5 @M@@Q"N[5UU<9TYDJ4I=A#?2#_L];0SFI$H&L(W]RZM7O.6><1YG/K%%Z:
MBI=>3@9:HC=,&:(@Z1:6/"5'P"K/ !DE(PD\(DF3K"'7:T^5G=VE0&N=B1A3
MBI0"Y)F!/"$PA/#8N)Q+Y04P8_+9"6>3NR)04-%&5QV@H#?6D2M87@HL/V*\
MHF!Y5BQ/Q!H4"D0))@$;ZH'EYM$F43($IY5V3"OG78Y<JIEB#07*#8;R(Z5Q
M%"C7 N6)$DG)YX]2&: NL-P"/OG]U'(@/%JNN:,XQFI9QNAZW[>2QO% 2-P+
M%T<K'BRJ<B,G-6X@_OEP]]]L+FYH.DJ:F*4ZS3UY]\V5N$8^4H*P L6M ^:B
M &TY!R&U<[F;E_!A;9VTD\$6)=Y:TYY-8;C"<(^8+%,8;B:&&RM+*PGEEG&(
MW@=@ F/0"N72-UPHK#R.-#<WTVU26]?S0G&%XIITXPTM,%(H;A:*FXB#41*P
MHBH?-A1)Q)F0#PFG?PQ/G)=4'"/:9!''T?6Z0(7A"L.M%,/-,\FH,-Q,##=Q
MR(M+IAC2P!66P+"*H!T1:3(Y3[%QDE1N*FX3MC 4=QY O+B0B_G,*P*K>Z?@
M#M\Q<<,TW9+OG=GC<.V.9_F%<I4+?Y5SBGJG2WKTD'?K-/33/9Z<I/5D<&CZ
MX>FMR6QUI :7[VC.=]24LCG2C+K)T_U/,^BX6;;/EDT8WW2+BZM]7X3^ZTQ=
M]6[5D!]U[K;I=]-H#2Y^KII5EWH7%;U[![W[\4JW,).,8Y#(=4$),*T96.(9
M".\C5\PPB^S:.GJ"ZFH6UJ#LEL(^2\X^,VZC%/9Y&/89>]L$2\P<=T US\V6
M-0:EF$M^MQ:$:X]P/L.'GMQ04:6P3V&?9K//C#L<A7T>A'TFLWH=CHY' <02
MEGLD4K!12X@,2X>9H)R82OO,O%U;V*>PSYS99\;=A\(^#\,^$]50!!7>2@48
M*YO[S0LPA",(/A :DF6<<)E];JCA^GCL4U-4=@'B55N=X[-A\+,4U%\VWKSI
M%I>.-Q\Z8G4^KPIS3L6<GR9C5B[7SLVYP\Z3["L*#@81"Y$[%IV(5)":8E8_
M8:^&YID4_FG2O34P9E7XYY[\,U9N5"MNB+ @=&Z-AY$$[6,$B3175'.N<HX(
M>L*OG^LN_%/XI]G\\]!1J\(_]^.?B;B5)FD&1N4 84&!Y3,&1KL T3O,94AN
M/E+UQ*T*_Q3^6;*X5>&?>_+/A/[Q6D9B)3AI1*Z&P4$3EJ:IQYF6N.:HTC^B
MK@S9!2J.]W@!J[?5'\&W3+HD\S%<R2@<M'IGP\'0=*M[N5=Z88WIH.4[YO0=
MJQ.NO3&]\/*65ZP#\ CRCU@UX8*+-D94M'=V8D-_/U8+\&!_S$17-Y'*<94[
M+,5'VY.A4"VI2QX; 4=43M\C"*S4&H)&AAN,%+9L;9VR-F>EP_=RXWN>-0,*
MOA\4WQ,U!2(7V#,%7HN0\,TU*.0P8!VT1 %I1D2%;[*,P<:"[T<Z,%_P_9#X
MG@CE6>0"XH9"X"&MWY$0,($82."66A%NE-$5OIF\7HVNX'N9\#W/X^(%WP^*
M[_'ZC9E'&CL)G"=ISAR1H*1G8 @-$2'J-8FC]1LW:?U>G6.)MZ1YW8F9%K?P
M[<)%#L[-=(V@"C=-Q4T[D[$#2R-EA@>@U$I@GBBP >?:/C&$Y$+2Y%\D;N)M
M(6?FIN8EP!>$-RMV4!!>%\(G4LP=$Y9Y \HP 8QP!\;P9$-A(D,:21SX".&S
MJX^"\$8CO '1@X+PFA ^$3_@R92><@I>"0M,^0B:&@/6,(4DXR2IMA'"9^_+
M71#>:(0W('Y0$%X7PL=KN)1:AZ@0^"3+@45%TFJ.) 3I7 P&.8WU".&L20BO
M(@B_#XT]#NF_OO-Y_=_IGXN?/C']CYUN50],7D6A"[FWZ?P!1S+@#@Y#RSC7
M.TF__2V-0&NO-TS?/NRU-GM=GQNP^/RHJM!G<JK-LT[7=%W''+=>#],3)^GB
M!ZTT^5OIVCOI1C[VTTNGIC]L]6)K>!@&(=W2Q1N?7-KEEN$9C>A3G(=H8L3R
MW^<#M/YOV_]]_=;O.;\Y1IY(GK[CM#?HY&GQM!^.S;#S.?SQI>.'AQ=L,_'!
M\U]&XX\8F^XZ@?O6CS3%ANSJ:$S^FZ^VHA]*/0D!&X4I84A*&YCF*H@T_1.#
M4O^!D+6+#QU>UDT\34P'MA_,)S QW>!3<_S%?!NL_7[5=LE*/XS[;4,V85-Z
M:=(;QBO&!QNO$?02R_=&O8B?)C8(_?RN=#FF,=?2.NSG->X?O[9<4CL'F70R
MX'*OY0RT?_]NUF^:%7>8O;\ V%4+/@*/R1LQL/'BQ;/]OW;VVZV=O<U?TDS3
MKGYS/RVC>Z^WMUKIT>MT'UL;!^F/UP?I/[O;>P>O6_O/TDN[+UYM_T]ZW\[?
MV_DV]W>W%^U&?WNSM_%F:R?=W+\6[M([W;2>]<[2=_C![5=_3UC=]+%*2HS7
MIZJ>:+K;8W,Z"$\O'OSA.X/38_/M::=;77/UH3^N+J>9D7_<?LB_-WIY3-9/
MT(BPS[=!SG_Y_.4GU4L_"*K1:QP_$5+>^C)Z@F]][6=?B],'^?V^]N>O<7K[
MCY:+;>+%"G*GK_W%)EXCVL.I.SG"-[LQE_>D[W)/(R)YG+NZQJ%HY&WT0VCM
MIO<=#EK;2>OXBA7_<]8-+8K:=TC2_V5<9$%'YG7GZQW'967F^$24;(IR\<TV
M,ZEZO=5SPW<Y.K%, X?JH(<E'9LRJ6J95',Z,;=H?6>OMS2X:OBE/H(\W<TO
MZ/9*Z3A[;>?DVV[G?.?D:)OMO]W^NK^UP?>.W/>]@U='[Y^_X^].=O&[@[UT
M%>^^[+[=8;LG[\AXYV2#OC]ZB?:V-K[L5KL=+^D>^<_A[O=/WW8//GY_1UZ2
M=]__/MP].CS^<>=D=\N?[&V]3->V\>7]R3N^5UWC]O?]@YUT#7M'[[?>'^V]
MS3LV?\?=SOFNR6OT99[]9J<"1</K?JYLG[*I[W]IR&WEF\TN"KE]OR2W>;::
MG188A> *P36+X%:^U>RB$!R^)+@Y-IHM_%;X;;'Y;>4;S2X*O]&Q=TJ#1XQ@
M,!9S2(ZJ 1M1!$I%$,A*IWFLJ\WLO AN3AT['Q65^\/#4:_.TWXX#-U!YW,X
MCQ^6GIVK\AVK$!<?4<SU?S</3?=C^IE.7I#Z(5WI]^!;OQVGQ2 ,_M7Z:#K=
M0:N7DU\_A\$PI[FV!L&=]3O#3ABLV"';W^8;8!ZD&TZ/?ERP*\;:G"2LT?K]
MYM)\_],[SD/[/-DN+^K[W=>7%MOH=P;II:WT9_?CBS0,/9\$P'X\,%_+VC_%
MVK^W.1&9UC1PZP@')%G(Y7M96ONY@D %1Y([A"Q?6[^A7M>_RE&=9<!Z#?'6
M@O5&8WT<J!6<:44%@1 -!F:9AN2?(?#>A\AQTOV"YOH?!>O+B?4:0H\%ZXW&
M^CAFZ:B4AB,-3%@!+-(<O0P>5#0N>?F)[KE96Q?7FQ(5K#<6Z_.-PA6$-Q'A
MXZA==>)6$@PQ<@LLI$=68 [6RFA5/J=KXMJZGKG2;O,:-C8Z6+%Y0SCNMK$>
M!4'/CP+1-*B^=Y8/%EU<Y:ILG]0W#DM#X/-,\KN!U@L]WX>>7T\$5GB(S.92
M"9H0DONRB9S\%\!0:04Q 7FBUM9Q6TLZ)4/7AI9ZU=JO]H@+V16R:T#27R&[
MVLAN'%G"7+)DEP!>&0/,80/:&PV:V5P>@1MJ_"@%D!2V*VRWVFPWSPS PG:U
ML=TXMH:9<$HC!<(0#4PZ"LGAIA"48(1[29"R.1^0W1!*7TBRJ[TQ9J''^0W0
MTO#F/#,+"V_6QIOCB"57T2//(Q#E,3 A!%BL#9CD*$L>.#.&5GF&E-;5'^SQ
M&;74'KQ'[<%24/ 6P_!:"@KR4E!PI0H*WK%N6ZDOV-#Z@J\/]C?_W__L_[6U
M_>KU_VUMOWRS<_"NM6AWNOP%!B>N7MQR]0M3.)#0)Y2QVBO&\2>8WZ\.W<]?
M8_HAKI61AZC$]S#76L;U(:Y5W+M\YOROM2H=N2B30#Q16"S(M<HG8F'&-5_K
MG2?L#:&^BZ4GN=YAT=YYQ_J+=SB#5=ZZB&]=B,IV&\Z=G9P=FY_U>6S@V#[:
M6YM',X60EN^MBT$=Z5ISZ,@</PQS+,0@5(GHA3D+<RYCK?'-WLE)K]MZ/>RY
M3RM<<KWN85A0JGMA.AXZW14>@2O;\"L\#@?]8 9G_6\K/ 2OPM"D)Q_/:6K>
M(EF6TU_1Q[$9#%H;J[R25B/PYPKSQJ8Y[0Q7VF,:I:^U?LNG<J^=[EZA<5AU
M.;EM^MUTL;=7OEK^(3CHW8T*FK>"/T;0<7G:R8R:@)=.//<).I[TSKK#TN"I
M3*QEF5CUNH7E)QO^D\U;H6M;RYM=W57?B0;^-,>FZT++#%M;P843&_HMBMNM
MG[85O$-]IQE:HLWQE-2/8S3E(:E!M?S\<$[*>!,#H5X9(9D2W#@L?/#(>ZV)
M1/C#3AY;3"B^]_&HT;*W?S8<#$TW#V9C#D7MO3X_%'6RC7</WA_O'3S[M+OU
MDN]NO?JT__8_A[OYX-+W-W3WY/W1_O,=NG?@/XT/1;T_V7^[FYX[/'IWLHO>
MI\^\W_JSLWNP2_>WWGQ[1UY^WSOZR-^_??G]QT-1>R?O^+OO#N\_W^N\^_[J
MT][S5Y]VG^^DZW5L[^ _1^^W=LG^UO'Q^ZV]JW5":$"2<&3!6:^!65&=FI?@
MK>4R'P20EJZM8]661)?>8 O6\O!N\%ZRCH<S<MKU@Y_W)[0?6"L'@ Y[QVGL
M!MO_/>L,OQ7:FHZVKE3\$"Y&#9X'!TP1#R8F%F,<:TH]=UZRM76R2HQ5U,E=
MU D5GL1((G4L,IT6-9UGBW4<\T "5T6=/#[,QZ4N.*<J4D\ 2XPAU_@!;0.'
M2"S1@GC#JBIFO"UX42=%G:RB.KD_H15U4B]MC2M->*R,=I:#X"RI$\*3.J'(
M $'<8QI$-+GZ]4JIDVE"1LO)2TO)/E%Q05WD2A/.,([&"B0$E3RY2\QS4X><
M*L0T(S'Q<;0G>:P4*0+.& X,"09:2@9,^VBH-52BY#9AD7OMU=4LN9!0(:&'
M)2%IL/>&*J$49]I2(S1S"!N&1?K3V2*!YA97WKV(+6]\2'.0)8^-050JE]LB
M E1D&(251BCJG8UB;9U?;P%2:*;0S-QN;9H&1C1-6V4\,D8'1JQ3GE)A0K!!
M2T\MO9UG+OL6%=4S1R[Z=LE%&"D:I9-@:8XCV1B3[N$!G/.1"F>LP2@Y9+PM
M;^"C16Y)5*AH<:AH"B;R1%BA</1(>N8-UD00+CEG4A$7S$^8J!#0_ AH;RR&
M8A 144X@:H2 !>%!:Z& $RQ9L#C8W.,<<]2FHJY(=J&A0D,/''M&Z2-1T\B9
M92RWE4E+*<,DI*EMO8B%AAI!0V,=)*V+3 0)'BL%3.:VC(90B @K;'SN\422
M#E*\K7/Z6\-IJ'D)DP^86MFD7G1W(Y+MKZ'O.H.J6NP@P[C5.\WSZ/9\]9]E
M+MQP_\N8GQ $$2$F+1>58(KRQ*1*2.2D1(1@S'[LSD'O%-3:&0S.@I]L@#E*
M4JA>W!]9Y<)<OA#L- 3;F6RZ)BE.^CM"S,VM6?H3;,0:D.7><T(5M[DSQ[0]
MB.[(!8_9<6.Y(?Q__J$()G\4*Q4K%2L5*ZV E:9P E%R&W0(,F!D&='6:.>-
M%$H[$YD+LB[%\K<Y/@M%L-0@6,;Y )9C8I0CH PEP(Q58(0V8#E727EZ%CU?
M6T]3HBB6Q<)O8=EBI6*E8J75L=(4BB58RQ65@5MMF))6.2.M,4YH+"P2MBB6
MIBF6R1BV\\1@%!%0SR6P?%C5($LA>*H\CH:00!=#LS0O*KVBI0%N9I0*N6!-
M[C:8>Q&&[J!JG39+68#%X]7[K7[-VX(N5BI6*E8J5BI66@XKS3=">>=\E0U_
M=#885GV%#WH;_J)C1JZEOM,]+P9;[;U6NF)S0E:\"O\]ZPPZP_ Z]#]W7!CY
M$*^"ZWWL5M]2N1/%<YC&<_@V$>L41CIF! 7+I =FM 5C'0?-<(S.*.:97UNG
M;:)YXS-?"A<4QBY6*E8J5EI1*\TWVEG4SX*JG\FX:< <DUSD3T2!@07"P5"A
MP%&ADS**A!J[*/JG>?'0DOD[P4Y_A\$P76I._.VGA_V.&P9_G@.<F6K0;G7#
ML,H+KM)06U\ZP\/#<.PST[2&YNM/:EJOUN;5P^8(F]/3^/35I86J@/>;;)]1
M=O!H1VLO#/?CZ(EGO?Z!^?HV&ZMWG(=X4 AY"D+>WYS(%4;:484D@DBB &:-
M!HL8!<4I$M$IPT*B8S9SD:"R#[T(^KE8J5BI6*E8:1&M-$T)C1I"\7>OI7&K
MO!DEYORH<8JTF4G:C"/M+ K/%58@.<M9Q9& <<J"I8(SZZG2@F5/4^OKZN;N
MQ38*S L9%RL5*Q4K%2L]OK"I(<I>A$TSA<UD$)U%'TCT&I*$%<"""V"B,J"\
M"MQQ[Y32"R!MFA<5+YG'$\2SV>NFJQEDRNG%UGD3[?/X^;!W_L3&Z(G5RD9^
MY&(:8\/LQXIU1UP[>CHQ,2[<.@VW3C8BBS*ME\)Y0%&QY#1*"19Q 1HGLQ',
MF$75L0[5^,W)DJI0$DH6SDJW:]T;F15'AQT/TKD8&.5*61)\))S&H'Q :!JY
M6RCV02EVW$TI$.V0CQ&\U0H8PPALH!&"CI'ZP 3#^F:*7>02N,N-V\*NQ4K%
M2L5*Q4K%2L5*Q4I+8:7F!1UK"T\V[X++.\L[RSM7.%M_?W@8^E6%DWXX#-U!
MYW-H'?<&*Y:"7[;DBY6*E8J5BI6*E8J5BI4>+E4,"R^DYXA2R9C501,FA:0<
M>2Y8"#/LG55*;G-2R.UTDZX+?R4U=Y$)5K;/IM@^V\U;9Z/MLZ]_'6Q\8$A(
MSK "HC@!1H@&8VGZDYG(*0I*&;2VCF?90"O(+?Q:K%2LM(A6>JR$Z;(*SF$5
M=)>K(,4X<JP\1$)"6@4- 8L0!9Z;"V(N8LSGNYJ]"C8OTE@RH">8).&TU:E0
MNUKYS0W=D"O;IL5*Q4K%2L5*Q4K%2L5*Q4K%2DMNI2E"&99$%R2*"O/((A9*
MA#00W&&</.+ I^\GE;R?<<BBA"JF"E7L#'</WER&*ASWV'G)0' E@>'TCQ)2
M@](X&J,D<M:LK3.IRZG"I85G[>W>"CQG@^<XDJB$\8I3#HDW$SQ%[D1+,0*I
MJ&.$82ZI6@QX-B]*N*(YCO)&NOC3')NN"RTS;.V:OCML4=QN9;3/DN1H>WT?
M^C#LG3[-DVG0.^[X5KZ59>+3&X__DJBIQBHH:21+7Z")EA(;YXGB%E/U86?F
M4O*C8[_[9\/!T'3S8!:BG8IH=\])MBI;HZ7SP@L!2 H%3%$*.A@//DH6%9>&
M$I%W;-H:U55P^&[@>.3MV =$>--V5/[Y, :<PG!-8K7K*O'^E'9#+^!<:BOT
M!]O_/>L,OQ7BFI:XQO6VE W:"8[2[(A\E'"E'(I @_#1&DRP2L2U4IQ5%,J=
M"I1XX2(S.KG]AAE"E7 )W08YJCUR*!2%T@"@[XT5BJ4V<:[@8*07P"@6H&E(
M"L4'P6B2+\HD?P7S-N=XE=!>%$I1*#-36E$H=1/76*%X[(W30@/S@@)CPN2V
M6A&LL+E&EL&8AA53*(6S"F>=<Y9WWM 0TBI.+6,>*4ZB0%:IZ)&@BM8APPJ=
MS4IG^V,=%BT6/,@ @@69VU)AT#$I,H5(0)9Q[DS.[16HG;RR0FJ%U%:0U$R"
M068MS:5E.L,B4L^4ES1(K#@N0FQ^H:*)PWF66R8IPV"#Q\!DS+$BIB B)&5:
M@UP0:FV=SEQ N+!68:VFW/0T)ZX,U<XI2FEDGN7X-@[*"\4L5C$($F^GK;MW
MIBC45B.U[5Y2FW94)F7&P!!L@-% P$J,@!G'#(I.6R&3D\G;DHO93UT59BO,
M]N@W/06Q22&#Y-H91P+33%DI0C2>D(0,C%AQ,AO"9^.T3!814TX*$$[JY&42
M#(;;"-X3[X5#/BGK'.U';<6*7BNLMHJLICD.0B.>-[]8E"P]C"JBA S"=;2F
ML%HS6&V<S6I)T#08 28M0,D!Y124"0JR=#/2)K&&65)I*LDTQ1:8U9J7P5K.
MSD]PS/;7T'>=0<B]PT8]PWJG>8;=KZ#G\IT0N#%?1"AEM' .12-8HEW+(TIX
MI,$GS]@*?WY(@%T<$A 4W2&X-VK"N'763T/W(MU%SX^21JH7]T=6N3"7+]P[
M%?>^'">X'FS@#U@(8FS@H +*&Q=(@$8H0."1YM,%(M!<FHLV_B1!.>A33DLN
MG)6F(UL>I3+,"L>L84@+Q;C#45./-9,!\T*VS2/;O4FR]4IR[#0%S9D!9J@&
M@RA)M)N<>JR\9X*LK<\N<@N,"]D6*\V2?V.<\D0:'1QC@EN#*6=2B_0_V")9
MFZP=-1XO1%L#T>Y/$BUQQM# !7"//##$&!BE!5"+#!*$4IO//W#&"],N%H8+
MTQ8K%2L5*ZV.E:90+9P1YP0WTE/%B R6"$T01T8JRXQG1;4T3K6,]T&VO^R]
M_""BU20GK'B="^5C8\$J*4"I8!3602-"%T.W-&\+8T4+>]S,*A5ZP9J$V:J%
M6>@.3)Y'I7E9 XILE_+XQ4K%2L5*Q4HK:J7Y1BKOG/>TX8_.!L.3T!T.#GH;
M:5#SQ9GC%Z;C=[J;YK0S-,?5WE&E*S8G9,6K\-^SSJ S#*]#_W/'A9$?\2JX
MWL=N]2V52U&\AZF\AS=78YY2$A^3[<$AK2"7 03+:/(=F/(\.8-6YF1WVE9R
MYLW\P@>%M8N5BI6*E8J5'ET!U1#U+ IH4170#_%3+DC4/(D>A'/\E%F6"W9B
M\$QK+PS1@?!%T4#-BXN6=/$)AOH[#(;I4G.V>#\]['?<,/CSQ/',5H-VJQN&
M53)YE4[7^M(9'AZ&8Y_9IC4T7T-)+)]'8KDY/8U/7UU:J I\O\GV&64YCG:W
MJOZ6HR>>]?H'YNO;;*S><1[B4JI^.E)^=S7!G"DJG: 1$!4,6-08E'84/(XQ
M(!219\DMO>'\==-VM,J^=,D>*%8J5BI66E$K35,TIH:P_-VKQ]PJ<4:).C_J
MG")O9I,W5Z+N2$M-! \0?'(VF<)5DRP*F#CD%*&1<[:VSMH:S=+7NT"]$'*Q
M4K%2L5*QTN.+FQHB[D7<-%3<_!!0UXJ00!T&;XT!EB0-V"1ED\9AA$7""(]^
M >1-\R+D)1MY@GPV>]UT-8-,.[W8VCPV@T'KS_-8^K!W_L3&Z(G5RE!^Y&HL
M8\/LQXIY1WP[>CJQ,2[\.A6_NJNQ<4^DCHI[D)0EYY%K!]H@#C$:9AAS01N\
MMH[K*GI5LA<:+7F+E9HB>1^J^LJEZBTL^[ L>Z7J"I."1JPQX" \,$LI&&\D
M:"40XAQ9[-F-+#MU!>@"W4*PQ4K%2L5*Q4K%2L5*Q4K%2B5(N20)OWF3P71=
MN#'CUWPQ?5\2>AM3*?J'#:.-;)[G_=Z@; A-YTI_O!JP5-HB;F( )@0'1B4"
M*PT":37!RG#D+5Y;+_5+%PS)98N^6*E8J5BI6*E8J5BI6*E8J5BI6*E8J<$!
MIY(_-S%K]H>'H5_5\>R'P] ==#Z'UG%O<+]X5 GKEN![L5*Q4K%2L5*Q4K'2
MBEAIF@-0E,6HF&!>*,<LPU8[[Y$TC'"KA5+W3P6ME-SFI)#;Z29=%_Y*:N[B
M?%/9PIIJ"^O3<#=O7XW/-!%"&:7&0%66AIFHJQJI$%6:N8BRO*.UMLYF.=!4
MP%LHMEBI6&D1K?18)X'+0CB'A?#*X5[LF K8*!!:YM[?1()5.H*EFGL56516
M-'TA;%Z\L23-39!)@FJK4P%WM7+C&AK'+[LMQ4K%2L5*Q4K%2L5*Q4K%2L5*
M2VZE*:(9F$L1I<4&,\TDQIH*@I#2*/G(ANM:>ZDEQV@<T"B!C&D"&4<;PZKU
MQT25,L=C--B LY(!<U& X>E/[WQ4"G$A#%U;)^UDM'(T96GA.\]&0 6^L\'W
M2AQ2(L<\SWMQEEA@-"#0V H@BGE':+:=613X-B_*N**9DO)&.OG3'%=G>,VP
M]9^S;FA1U&Z1:E[=/U/2]OH^]&%T6T]IFDZ^=V:/0RO?S<6KP][ITSS3!KWC
MCA^]LD1D?..)WV TM888%I1GUAN-F)5<BV -(S;Q\<[,-#PZ[+M_-AP,33</
M9J'BJ:AX^X?CO<P1@9T$+Y$'1D@$$U'B91^\QR*@@/W:.E9MK71--0GK ,\C
M;P<_&C\T;;/GGX]A_"F,WB3&O"Y?[T^7-]1%R/6O0W^P_=^SSO!;(<5I2?';
ME09F#KOH<Q-)18'%X,%2+H%33ZGB2/@8DSHM?%BT4WW:R7.'TK1C5"/.+%86
M.\HMPSY0Y@W313LU@":N5!G5GNFH&0:JN0(FL 0C5 "*)1-(<>YBKC+*VV)V
M+W9YN*)HIZ*=:M!.]Z?+HIWJ)L5)[821MB1@#$%C#DRJ",K&"))+I9#U(FI2
MM%/AP\*']?*A2D)$)G>%"QU9I#%YECIY+LYXRIT0L@[Y6*AR5JJ\TDC28L.]
M"!2XX0%8$ H41A*<#MH%2]+_HJ0?!6JG_R^$60BS$&:=)UD\=@([&X*(@27,
M&<*L#<1@3@S# =W.F+<<8"G\.'L8[NJY36T03J:(P+5-8E+CQ)":4O#&$66Y
MP]+QQ)#7R7'JXRJ%%PLO%EZL>#&YSS)8%3D/>7<0:Q&B-(1K;*F)[">[$G=O
M\5DHLT;*W)VD3$6<9R[JQ)&6 O."@(Z2 <8X(JIY($(F_YNW)1>%-@MM%MJL
M:2^7LF"CYEHBR71TEFN/1#0N$F1E\,7_;@997LDB5I(3+Y4$@;T )CD")3T'
M095+8C-2''(W3D[:2I3TET*9A3+KI$RFC:)$*JZH8=%3HRGFV'H<F/88A4*9
MS:#,*YG;PE"?W ,+)E('+&@!R1$7(*1#GDBKO<K[.TJVD]!<6LIL7B;WE#G?
MOP]-&L#T7]_YO/[O],_%)TY,_V.G>S&:DX/E0L)N_YQ5UO]M^[^O7QKR)]\B
MRK>4;RG?<K]O.5]:&7DB>?J6T]Z@DWGT:3\<FV'G<_CC2\</#R^6WHD/GG,E
M&G_$V,2,9\/;/W+;)=8F(##ZE8(@^9K$U=&8_/>P?W$QI^9C -L/YE-:B-*U
M/C7'7\RWP=KO5XV0+/##$-YV]Q/VHI78O>768WRP6Q]-DJ1D>GU3F2RMA*&?
MWY4NQS3F6EJ'_2S?_M&AU).0JTEA2AB2TB;=QE40+@2B+?4?Y-KZ05YF<O^\
MS:S\NL/!OW\WZS<9^%93U # GWW+P\WN:\>1)$MS;N/%BV?[?^WLMUL[>YM/
M%NCJ*VQN[N]M;>^]WMYJI4>OTWUL;1RD/UX?I/_L;N\=O&[M/TM_[6_^O__9
M_VMK^]7K_]O:?OEFY^!=:]'N]+<W>QMOMG;2W?UKX2Z]TVT-#WMGZ3O\X$Y7
M?]L*58G$\9)2Z>QT%\?F=!">7CSXXT)D=KK5M50?^N/\V\_7H<R\/\CLZO=&
M+X])^0D:$?/YD<3S7SY_^4GUT@].P^@U@I\(*6]]&3W!M[[VLZ_E3S"__=6?
M?>O/7V.:/<"U2L07YEK+N#[$M8HG"HL%N5:,%F@2+-+ JB=2W/=ZYGVM\@G'
MZD[?^HN3ZK\\F53>NMAOO6$W8"13YA/\5G>J-;#AW-G)67+-@[^UO$ 9V_N-
M[6_S'=S"-XORUH68O1OI6G,<Q1P_S-Q=B$&H*KP78JQY5+="[+C.\%^_+P K
MZL4<XLW>R4FOVZIVD^L8Y3(,BPRX%Z;CH=-=X1&XTJ5CA<?AH!_,X*S_;86'
MX%48FO3D(DCR167=8S,8M#96>=VI1N#/%4;9ICGM#%?:=]CY>4N9Y1^ 55==
MVZ;?31=[>X?SY1^"@]Z/'%!?E.K6+,H;$BF;/4JC*E=WF"9WNN65&KJ-D]Y9
M=U@OPI9G=,K$6KR)56]<L/QD8WYRJ3HI_K)R^59PX<2&?HOB7+T<ZUEZ*]Z9
M5I:QS&:06#,1.#4:,^R(5IP($B2-!'N"<3YTA#4F%)<RFS^<.7KS=??D[T_O
MOC_KO#]ZA]\=O&3OCO[N[!W\Y_#=VU>==V3WZ_NC7;9_L'']S-'!=KK&5T>[
M;_]SLG?T]^'>UF%G[^T.WCUY=OC^^7^.TG>>['[_F*YC+UZ6V'R-OGR(WAN*
M. 8G5"Y/KA18[#FP8 4V)EI';"Z1U.9\YI)RTZ+CH0]A_J()S,.B?'%/6DY]
M^XM);C><0+\WLZW(F<FY\=?W,7])*2V/$@R5 1@RZ9'' KAQG/A 512JAFJ8
M"T9=1:S<4:P8(JFEE$?O*#,(64DU=@8E/"--D2MBY?'!CB_!+JP7FBL,E&D#
M3!D'Q@4-Q.-DMT!E#+F7BFQSS58,\46L%+%2$[,5L5(O?]%+_G(&"Z6)!Q4H
M D9) (5Y!*>CBTH02CA>/;$R34!I.=EI*0E(\QBHE1P3[Y@)1C%-C)5(,X=U
MM*8.:56X:49NXI?<Q!S%7AH%6% %S'D%RC*<O*D0K&<LU_'*@2#<YFCF2EW-
MZ_A;2&@I2<@JCY%&3FC'&1/41BT8HIY[H9#&O*B@N86<+[MB;GS (=>R$ARP
M10$8UPZLD@*DULE.R5+"L+5U2@O-%)I9C)+.P7DJ+6(L^58LDJ E99@X$62,
M5*IP.\^4DLZ/P47?+KDH2HF]]@X(D1*8C!*TQ02($5A)+E#Z(_ED2?:(ZX[9
MW<LY%RHJ5#0?*M*&1A44\RB[7)A;[DCD,LD?3K&RME!1HZAH;RR+<F$OQI,B
M"LY9R 8$B[ %'6+N->6I,69M7;41O1[=+DS4(+@N,1--4WU8TD!9+F7+.4/8
MY]8_0FEIF!;(.%("0(W@G[$4LI@EM1HBA*1D@47L(=E. G;4,Q>0HS%)(4QQ
M6_.9VZ752$-39RK^4'U] 1AE^VOHN\Z@*O0XR).^U3O-HWY[LO0=&H4O^^9^
MY$02)0+#V#&MG8I9&A$==%01&_YABR""$$88J@?T3E&@G<'@+/BMLWX:NA?I
M+GI^M,-?O;@_LLJ%N7RAHVGHJ#.1F(@DMC(0#Y(0DF-$ 8S*;79<)%X*0P(3
M>:^_I@KH#6K^L-P0_C__4 23/XJ5BI6*E8J55L!*4\5NI.2$>\?S;E5DBD>*
M*.9",Z6Y%G4IEK_-\5DH@J4&P3+>0.<\4*L\!TX4!T:H I-<'-!,6B*3:Z5L
M$BRZ")8%@V\AV6*E8J5BI=6QTC3[WIA8) W1PC-FG;*1*R&#\5HB(HPN@J5I
M@F4RX*L)5CA& =QJ!8QR @I+!"@R[ZAU-"#9,,FR5*?2;X9?-<W!FC2YTRV>
MG(;NH.H0-,N)],4CH?LM%<W;W"Q6*E8J5BI6*E9:#BO--YIWYTR(#7]T-AB>
MY : ![T-?U$+/U=2WNF>%[>L]BDK7;$Y(2M>A?^>=0:=87@=^I\[+HP$]ZO@
M>A^[U;=4VKO([&ED]K>)N*!5A"BO!6"F)3 M)"BG$#"KG4#(,$KSP9HV%;Q!
M.16%"PIC%RL5*Q4K%2L]6FBPJ)\%53^304:4 )W,3<'()'T8#0$4PPP,I@1;
MCZ4)IGGZ9P5R2O\.@V&ZU)Q2VD\/^QTW#/X\NS3C>M!N=<.PRCBM$AQ;7SK#
MP\-P[#,N6T/S]2>E>E=K7^1ALT_-Z6E\^NK20E5X^$VVSRCO=+19LA>&^W'T
MQ+->_\!\?9N-U3O.0SPH]#4%?>UO3F2A8ATELH8GO\T18$$(,"SGQ:M@D7-"
MNJC7UC5NT Y)V>(L&]'%2L5*Q4K%2O<^0CQSX/KN9XEOE3>CG(\?-4Z1-C-)
M&SY1.==A8PT!Q(T 9I@ )84"$4RRK+<\&KFV+MJ,JQE.&Q>8%S(N5BI6*E8J
M5GI\85-#3+H(FV8*F\F0,T%4<F$D!)=4#5.6@D%1 =664:*\QZA9TF8%LEHW
M>]UT-8,,T%YLG3></8\V#WOG3VR,GEBM3-='+FHP-LQ^K#AJQ$RCIQ-OX<)$
MTS#19',E8@.E@EJ002)@.=/>FLA!"^6\LYI9A=;6;R"AL@O>:,267(5%L-+M
MPO!&8O5,.H>LDM$Y9G@2ALP*P5W4F6)5G$8;%H9]4(8==X0)F@EDD04CJI)5
M3(,B$H-(S^,D\KFAXD:&7>1Z><L-VT*NQ4K%2L5*Q4K%2L5*Q4H+9J5?A/)\
M9W!Z;+YE+1I^;MCRSO+.17OG"F1-[P\/0[^JR] /AZ$[Z'P.K4XW_1U6*QFZ
M;(X6*Q4K%2L5*Q4K%2L5*SW8.5+%.44L*!8]9SPR[:-#SE+G8U3:R:DWO"L%
MMSDIX'8J_?97;S"XR,0I.S)3[,CLYMV8T8[,U[\.-CYX9IGQ08)C/F][(P.*
M2@3<2>*-H0%QGON(S-SHNJ"V<&NQ4K'2(EKI,8NLEA7P059 =[D",HP)M90"
M5=BE%= IJ!;$B*,UU@NJI6C:"K@".:BOPNE9WQV:41^M-.-/>MU5S#B=,C.J
M]I33@WXP@[/^MXEDJ WWW[-.OY1SGI)V=H:[D_U#D758*<"21&!>>]!&$H@$
MF1@X%DF.KZVSD@RU.$A]].W,8J5BI6*E8J5BI6*E8J4%L](T1V,IC\1A+XVB
MA@DI5$A:GDDM//;"85-GN<8K^K\Z#7LA_S=[@^%N&![VBB,PM2-PL'L9?\!(
M$DVT .2L29Z "*!T"" 4L\EGTY%:FCR!-M:L. ,+ ^="NHM@I3G7(RBD^[BD
M.P[Z:H)$,$( ,4P!"_E4&M<6$!)><<2$(KQ1I+L"V9I[85BR,\L>8+%2L5*Q
M4K%2L5*Q4K%2L5*Q4K%2\_*\O/8L*(J-,(X1&@PUAEH7>0S.8%=KO\#D&(US
MOHK;/Y7;OYO<_C>7;K\0SC'+& 1J*# B+5CI/%@?L+?!D$AT[F^C%6U0ME?!
M;N-R- MVYX3=<<C..85H4 2X03YA5U'0EG%@W$9'G# 4A>9A=ZDR->6-R/O3
M')NN"RTSR)F:NZ;O#EL4MUL9.[/D:MI>WX<^#'NG3_/H#WK''=_*=[-,['1C
M$J=1W.!(@B;8,R*XT<YIC[3V5DN!Q(>=F7EIE,FY?S8<#$TW#V;AIJFXZ>5D
M,B?SR 7N,' 6'##$">B0N^@)1P6R,B*?VP:+MI"HIOJA=P/'(V\>/B#"F[9Y
M\<^',> 4AFL2JUW77/>GM!]XZ_]G[]V;VLJ5]>&OXF*?.K^9>BU&UR4ILXLJ
MAB1SF-I )B&32OY)Z0I.C,WV)81\^K>EY2N7!(,#-FAJ;P)>RVM)ZNY'3[=:
MK;0BFNJNAU[_Q7^'K<%Y :Y%@6M:?%VYX"QW#"FN.>*FH@B4KT)!8\W ,V(^
MTHVM.^]\62?,*@SE)@R%"TDDL;(*F'.GHC4B<HGA8TRT#;HPE!4P]/TI0_$,
M\#=RBA21"G%N-#*ZBDA4.D9LI,<6 T.13<&JIV3MA:$4AG)G2"L,9=G -64H
MNJHJ;21'OJ*I/@6-2!FO40P>&R%E5#P^,892,*M@UKC>CC282DE<12+W'@Q%
MP)\*G@/$/6*Y#!I6X.RN<'8PY6$L<&R]#HC2:("'688L^%X()IH CI<,1C'@
M8:)J"G+G,'8!M0)JJ]+I!4 -:XRM .#R&G,9*RV=A]E> :8)0J,J1.S^0D4S
ME<)LY$YJ3U*1L(BXBQ(9KCV2(:K N+,XD!3D%@6V"FP]%MA:9(.0(2(PY3BF
MAG,BI :34$ZG.HA5 (_R>MRZ^3FE!=N6B&W3/9B@KB$(P1 .'&B92U40(PW(
M,<&"P)H'I<#+%$TI+H?'%MX/5)"M(-N#=WJA_>:A4L'8RFD3 ,ZBPM(+9K'$
M3$AO2$&V%4.V:<8C9L$$*C RE<:(LXHCRZA#1JE O;>TDC@=KXP%*<!6@.T1
M -L"N$8EMT%%S R.W-!H*7>"VHI8"81-^!(^6PTXF]FW72E"2/1(61:2)^J1
M#=(B7AFK?&4M]2F!F_*FDNOAB#Z!C=TOOH:>:]6%/.M#Y+NG21[]I[7/>[$,
M"U$%A]/B%_>*1X.5C^!<VABT5Q@;-4I2Y^,D]8KA&X3#=OO]8?#/AST8NE?0
MBZZOTRSRQ8-:*F-QE0H3BR'5VVE*Z.'?Y*.LJ-9."J0$]8B#W%(^J$#.QPHG
M*1HM-K96JJQPV6A2MO(5*14I%2D5*=TR(<%P2V6T)'+)-8]:*FR8JY@@4EH1
ME\5:<DVL0EJ605H.9DE+6N)SEHJT(Q;\*VL5,A9^8\)RK;&KJ/<;6[2PEG6S
MX8*T14I%2D5*3T=*"[ 68BB.6%$C-.-**Z6(%59BRYEA3//"6E:.M4R#PB_P
M_M\?#7;:.B(15LXA+K!%VC.--%/P/V8EH7'5>,NC*@UPM0UF74?6@(;G8]A#
MIV_2J#^M(YQ*+>@BI2*E(J4BI2*E59+2_<;U;IPRL>T_#?N#D] 9] ^[VS"H
MJ7&F_<JT_&YGQYRV!J:=5RTSK]B9H16OPW^'K7YK$-Z$WI>6"S7K?AU<]ZB3
MGY()>.':"W'M]Q<BA)899:E%W#J&N*(!64PY8AP'C)GPDI"-+=;D>%D;R0L>
M%-0N4BI2*E(J4EKK&&%A0.O*@"Y$&S&SF,3HD"$6(VZ80,KR@$A559@Q)[U4
MJ\>!GD"FZ3^A/X"FID33'OS::[E!\*.<TV3;_6:C$P8Y#S6G/3;.6H/CX]#V
MR38; _,UE)S4^\A)-:>G\=GKB81RF/AMDD^=C5JOG.R'P4&L/WC9[1V:K^^2
ML+KM-,2EE/)B$.;F<U.9U5IZ8E#PH4*\8CY5 '1("9D*H5=$5 !@XL[%2LN:
MYSJPSB*E(J4BI2*E=932(MN8EQ#$OOE^YFLI3IT$<I'G%'IS-WHS%Z,F(0B6
M3M.6Q 7$?9!(Z5SRE(6*N\BMH\D_NRH?Y.:;GHNI%T N4BI2*E(J4GIX<K.$
M^'0A-RM*;BZ$GQVGSGFF$*Y FIQ50&^8"(C*RC%),:>8K12]>0*9KCO=#K2F
MGXRT&QL[;=/O-_X819X'W=$'V_4'3RO[]8'+'DP%<Q S3M7H5'\,V$4*&BV$
M1D?SD60%,HH"7"U%" 4L(@HI*SRJ@HB,<G"N8SI80LL56@@K2^,E@>&12.EZ
MAG@UNE*)&;96BUAQ#S11>.AX\-8J'"2Y";I.2&*!V9\+L_NS,.N]T$%HB2Q)
MQV#05,$O>H($"97!5ACO]-4PNW 1OV*[!6&+E(J4BI2*E(J4BI2*E(J4GF@Z
M:0IAYZ/MK\HG-6>FYTNZZ,J4,+VP'+&=Q/-GK]LORPV+>9Z?YP-\T5?81%JA
MBEF'.%<":4T]PI$2JRGSP:;%AI(INEZ67!: BY2*E(J4BI2*E(J4BI2*E(J4
MBI2>I)2>0';6P> X]'(%PEXX#IU^ZTMHM+O]VT5O2LBP!':+E(J4BI2*E(J4
MBI2>B)06VFDKG?.&>LI4X PK':1EWEIGF=5<Z-OG&68FMS-+Y'8[P.O"?X#-
MC?>:E 6?119\/FT/]M)BSW1_2=HB[;"5R&(M$ ]8(E5)@3SAQ,NJ$C96&UN,
MEUS#M3'> K%%2D5*Z[TKLTR$]S 1SI\J$BO-C1?(1B72YB:-C-,,":(D#\%@
M4KG5F0B?0$(6*':CE=7\:>5=/7B,N$3RBY2*E(J4BI2*E(J4BI2*E(J4GJ24
M%O']+:&2L\HSH;F/P=C@:?25-*92,IIEGA@ CM'4_2]N_T)N?]KH\';6[5=4
M21],0,QJB7A0'%DJ**JD(HYB(@WG:;-]DXH[ES4I]KNZ]GN/)WX4^[V;_<Z%
M[2(FA'MA$9:V0IQXC[1D#M%*",YX\!Z;%;3?1Y6')Z^TOC],.^^G-/VTI?*O
M82<T&&XVDOG<)17/=GL^]%#=LV<,QM]WA[8=&JE#XZN#[NFS))I^M]WR]95'
M!%]7;L"4E 2-?8Q.5ASP2VFG#!9*5<*KP/3'W3L#5[WW\F XZ ],)PUF :^%
MP&MW?K<EJ#.56G/D*/>(.\.05E0B;X-UTD3%:0#HJII:W/DH\R4:SP.O-SX8
M/JS:^LC_/(3P%Q#Z*B'F9<)W>[B\8IMZ*G8;>OT7_QVV!N<%%!<%Q?/9&I.4
M4V8J@X")&\2M=."/68%BQ9RD2AGF\,96P</"G9;)G8*26+G(;/3<&FP-CUX:
M'ZGQE%:L<*<5@(FY&HF4!V*9LD@83-.A9A890A6JHE*,8V6B3&Z?;(+S7K"B
M<*?"G9;)G6X-EX4[+1L49[D3PX9PK2N$?2K?HP6 (I4!,<\C\99IXE7A3@4/
M"QXN%P\K$E@T(E1!61X=MI1[S:V+&!M!HUT&?2Q0>5>HG#LUSD2*%:8&">[!
MS=1>(!,#:#FC2IB (]!*X(^B:FI2"&0!S *8RPV^:14U)IRG XR,L-1P3JRW
M0N.HF2H$\OZ";_/; :O*6.<U1B20B+B4%"E<.53!IXP"F73. 2XR4C"Q8&+!
MQ&5N'ZO QKC4BI/*<FR4$8XI%; DQF)'^/6@>/.S_ IP+A$X]^;.Z=-1",X-
MHL0&!%X 1\;9B&(5;!!2I%D.?&_1E**Z^Q:R IL%-A\Q;"Y")5T$T@C Z47@
MDB@==,#422>\DM'1XGNO!EC.)]UZX85F$54J"&"9S"#E'6!GD!0XIU9!)>^;
M-2F^#):%:!;$+(AY>\342CD2@6OR*G#NJ356"Q]=K+REGE0%,5<#,>?2G&TP
MH,I<(2&=15Q0C#3&'%7":,:KB@:7$)/SIL"72Q2L'V3F_.C?!@9>!__ZUI>M
M?\./<9-/3.^HU<GOEO-0Y0)H>F_9-DCPCXQ0<C#"P^/0,"Y5'C6=<QB!QGYW
M $]/1T)W.SYT^L&GW_)0F72XS,M6QW1<R[0;;P;PP0DTOM\P/7A*I]&"CASU
MX-*IZ0U2!O7@./0#=&E\X^9$GN/AJ7N]]6_;^VWKTL7Q8(Q:S.FF%-"KTVZ_
ME73D62^TS:#U)?Q^UO*#XS&LS'QQI =X^A5CH2O#P?5?60'!T-0F.3\:LS]3
M:S,@,>9I",0HPBC'4MK M5"A EN@VC+_D:J-\9>.>^,>G)JC@&POF,_(1.C@
M,],^,^?]C=_F]164==0@1C;3L%\W8C.:S?+D?\UPQ?C3AJLV)T#V;L]D,0,R
MA%ZZ"YIC5J8MC>->FL[^]6/!2;#,!"3YL/8T$X+Q_/LWLW654EPKBBM!)N/3
MU#XR(,+ M,UI/SP;__*[;_5/V^;\6:N3NY>_]/OHZ2.C2BIQ 0_S^^K+4VW9
MQ+7&C':.C-X\NKR9+UU ]_J:Y)M2RFLOXTUR[;7O/9;@3:'%K1[[_6N"7?_2
M.S56W?2Q5Q#VL1QA9@VK<>>5NXC(-!'TMKN%%K."GXOH5V\NVG[UZN7!?W8/
MFHW=_9T+,^$*"*:(\,<BW#G8?_YB_\V+YPWX[0T(\_GV(?SQYA#^V7NQ?_BF
M<?"RL;/]YO\:+_]S\.Y-HPAY#87\R]O][;?/=T&POQ;YK:/\6AUP/+I#>(;O
M/P(17O"":!UAN_HQ/]QQH6]^ZQH,S8^&80T"@U?'.;XCKROZ5)O;_?1*W<@&
MW[2^-O;@KN-^XP6X/S[[]^/]U-=VMFC<"FC<3+1_+I@V'S'[;CCMBHC::JLK
MQ93<?$"^W^$;X.F3&MCK*R>LL;DOJ]@%B/AA*EWLF/YQ(_:Z)XWN:4B!JLY1
M(T7>O[0&K7#]N5,W&(&E&<FM=Y7>8R,?@>+>KLKR/2CNHB66%^GA(ULSOJJ'
MCV7MES-E';>$!6TX_&=)X$8&+G34EFF6RUP13.HR5^01EKDZV!FM_W[RG_8.
M_VGM';[X]OZ;.X/WX(,_7Q_O?=MF>X>[=/^P_7GOTPNR_WSOZW3]=Y=\.'P+
M]SJ^]^VS^'#XNKW__.7QWLD>@>_Q#Y_>T_??_OZV3_=;%]=_]S[]T]X_W#[?
M_W;T[>"PW=[_\RW>>_?B_/VWM]_VGA^?['_Z\ G>Q=[3O^+!SFBGRAM\]M$)
MK$/ &%GN*L2CP$A+SI$3K*IP-(2IM*FO*3!>H?I62ZI/5V#H4<)0Q7BDVBKJ
MO>;::".]PY4UQN*(?2"C:GOD\5;;6Q,8^C:!(4M,4%H1I&V,B NAD1*B0BPR
MJZG4BHH$0Z1)^>KCT"-@FBOK(ET-#MO^T[ _J!-<!MU&+P >N%8[-#H3"IH^
M3W^YY$V=]KI?6C[XACV_TJEZ=A>O:E4<I^(;C:R:Z!56W>?A%-2UE?-/&J;C
M&^:D"RW[EC]X6D?3K)BG84Y/X[-9\<#O[9!^ 3%MSTCIQ5?7'J:QGOVP&T?I
M=YVCG6Y_4+C!(MQ@[W![6LQR^Z,*&ANL'>)$>@3*$Y&EV"(F1522II),.FVG
M;V*B5IX=E"K:J\SKB]$_K-&?3XS>.T:()"D=78%+X%2%C-02::*#=Q&N4)%W
M\6!YY^WBQ26XK4NP^@1KUCY3CNZ4[[>#Z8=&EBGJ1C3LIVKB_3"X?DWE41Y"
MNHJT:U9H!_%@+++_)(F]3FT_B&_[83M+JX#L0B#[8HY9,:T#$:#$/FV5U"8@
M8RKXDRC"=% "$P(@VX3;EK3M9X5V/!:SOF]B5<SZ9YKUE#MQA9EB&(S940IF
M[312L2*(*:ZD<2!!S]*JSA*HTT\WZT= G=8W-A5#KQ?\)(1JOGXGX>11NJ>+
ME-A9 CM:O-;.6$;U*M1ADM!VQ\._._!AJ\#H@C"Z.\N.:)15H#2=WF: '05F
MD!:4(4EE15B"58HWMJHF5G<INE,B3JMKTDM@1L6D']ZDI\RHTA61(C"D0#E2
M9?^ M#(&>1&<J CV\#-'E0B[?*#;"MGT(V!%ZQI0RN5'D#6IWD*JQA Z_=LO
MUCT%]_(^TP+S02A_)-GLS(BF(.9"B+DW1X*490%;C*0'L.2$>60KRQ 5GFA?
M&6F5W]@23:WOG)E30D0K:\/WF5-7;'@Y-CRSEB8< >NMP',)&G%&%#)"8002
MM4*RX*I4WXDU)5G6\1V%^3S">-#!X#CT2OSG)_*<>2#,X[W?[:2<Q=H9?/$U
MX6$H6+@0%OX]RV<XYI9Z@9'1'/A,\!HI*S6BEC(#HL(R+7D)>7G!:X7<OQ+2
M><B03K'2GV2E4\:2ZH4J(B@*Q&'$O8Y(&6J1U%%JP%8:/ ?&<MGE6"$C73NF
MLGH-7I<[GTSP:^?8=([@::W.[,:)O&"?L]?;+6-;[;*)8B7N7*9CPN0*:^6V
M<] -4,%><*'U)97 +&[**H1C@0_U4G+/\U#_N]L9B^KU1%*%)BU$D]RL,P/<
ME<5@/:JD-(@+5B&E/$%*2^*(K9SG=F.+-S%>Z=6LXLX\I#M3K/E!K7DF3&N$
M#514J&(^A6F50]I2CA@GQ@OF98@T+;40MM+Y)H^ "'V'GJ\T$7K5"Z>FY1NA
MCD#4G+R; A0--^SU0F?P)+<XK \]&@EPG (TBB1M=WR.,I7,Z%M [-%<]%=R
M&ZV-R%KN$ A6 5=*9]I3I9BV%8O>I\QH<D5F],+GZ)6%[!6T[Z7'?XL1WX\1
M3WD29H0(+!FR*B7Q!1.0-8RBBE)A=66BBQJ,6%]>S%XA$WX$+&E=PT79#.]"
MA)Z$9[GTY>S+0)D%,=D&5H#Q%L#X>9;=& \"4E(@@:E,YZM[9)FW2+"*!HJ]
M-XIM;&EU%V LP:#5-=E[X#;%9)=ALE,N0PSE/%":DFJ!RP@P7N,T1=XZ;)0C
MWDFUL456.W[["+C,ND9\)DM?I^;\UNM>:^OXK4U<9RRF5[64"F(N@IB?YJJ!
M&:,P898A@R-#/!(!)$<:)"H5.*FHD#3DFA5X]3>WESC. VY(*#;[DVUV9MNE
MM)9[ZQ$/42-N642*1(P\U8$J;$B4'&Q6LY6WV$= ==8U; /VV!L&WP@GI^WN
M>0B35:[__9>BA/X^6N%Z6A&=M6% +T92>YU. @_^/]-$P0*L"P'K7 $O0F/
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
M*$LG6H O56F'&#:Q(LI7*BW::][$U>45O(6#43>VH34*/S]A7%AFI9^""RN
M"^<SN%!AZ21'7.D*<8<=LLI)9'1%K)..6)MR*553DB44!7H@7'@$C&UE(]@_
MVI$>6QW3<4O8D?ZCB@9WWI%^TZ#</3;R$2CNNJ6JS&^P&G3=YT;W-$^0X6OH
MN5:_E/>\O\->YG95)%D<9%'T7XQ$X<O4O\#4O_]\;H,YU<H130D"F6G$*VJ0
M)EB@J+&S7@NOK=C8JOB=:]&4M).5M=BEG_)2+';I%CLEZ]@[);CP2$6BTKYQ
M@RQ3' 6E@R>JPH:F8YFN.)1RU2QV[8C-ZC5X7>XL [LJ5'QE?<BKI[%#\[5Q
MUAH<'W?;J;TI<M3H!/"FCE,B5#\,!NUP\N0.(5KU#*C1N26'71#?NZGTTFZ<
M)+<_#'" G>Y).E J9[<5/K 0'YC+&@\Q:!L91H2(F")X%BD>*L2L9U990E4%
M#%XU]17GO:U0;D7)CUJK_*ABX3_;PF?J]1L<HI<444<EXMY7R'CBD,5*.A:5
MDBS5ZV]6>J4M?.W(T^HU>%WN?/0!XAH%4U)^0F)H<IV*W^FW?*Z6W>V4^/#]
M\-&+)^I=F*A@0MJ92&AG5D#C0_7.7XX7I\IB\BUGJ_ECPXT!.@*S%:X\0UP(
MC!2+&%6<XHH*BHVKEG:V7HDJ%UI:K/W>K7W*307W!B \(NK3_L90&:0MKA#6
M.L@@J30&O$_1U%*6[8TEL'?=&GNKWQ^"68;$J'RP3RR<MX+L:68%;W<DFX.8
MR^@$7TH7+HR9<^>*1Z&L42%3HHBXM!H9ZS3BV$FJJ.,@RO4Y?;@$[M:M>%8Q
MZ*48] P)8DI2KBPH5!73DKQ"1CN+M*E<2IZUU#L@0;A)KHC0K9H]/P(JM&[1
MI%X+/))3TVZ,*]DU #AN38/6UKE</1KT>E);L&#E[;%R[MQP2H*AZ0B;RJ?T
M)4W 8712(U!WG([ TY4()3RTIA:\JN&A8L=+LN.98J"64$MTA4*0*<QK*5*5
M"2AZIWT%<,P=V#%I*G+Y=(42^"F+DBLWL.L?41L56$TQM$$OF/ZP=UYO7BG1
MM)58B^R_[/9@)AJ)Z2#N=$].NIV<(%]FHH5FHL^SC))[$BO) I)22\2IY C$
MIQ$#JD@%%LZGA/@23EM+8UY51EE,>ODF/267-FAGE7=(@1P19YHB$YE#-%*C
M Z[@JM_8XDVB[U()N832;AM*6Z\B0;^,J@3]FLK.YSH2#7N^V)[T4AID74H&
ME?R..R+QX?P!U,$+R94 -Y];Q*,F2%$@5TYQ%D3 ,K*\NX"*)=2D+Q6#5AX6
M5I2.%3#X>6 P$_,+2G/F _):1L2M\:F.O47*:>4,,5X;O+%%55/Q.Z]SEF)!
M/R5ZM3;,[1>P]!3$"K\"<ZM_2X4>$Z%KUK0NG1ST!4PYK9>FLX-ZH3_HM=P
MZ%VZ?I>@UR,#[97G<@F[T_]?3$7Z>B+-=&&[X^<_F+GS%8Q)%\"^5I+G([6!
MO]O#)*<77\$W[QR%UV807L087%GV66P*F#M5FU%)?/02:1(=2B=I(Y52V815
M@J<339Q2&UN:-"O![NZ:KPPA7&(,[I%ARXH2PH(HJXTH,[M;K2:!1(X"<1AQ
M+0525GHDF26$AP@Z8S>VF&R**XX]NUWTOI#*1Y=9=WT%RCNRQ66$"5;O&8]
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
M.>>:*2)5UP'ICX?U9-@>M$[;N=#.9,(?H4CG:*0;(W"[YM$9C^#))FV,&]E
M,U\Y[O93R"6)Z@BNG71!)3IS],#TW'%K -/C,+&.6@5R]*59-[(W2+"6[&)>
M-X,[[L H'[42\ +G[<\]"137^ R/0!6/:^WMY_US"=./S9=DCXD!M/K)<6WT
MW7$X,5=IVL18$D*'&8#NPZ=Y6@VI%$9^!3KMGN6!&$W7%T A#?PUAOA#!W0=
M\?'YL)>W3J8MBJVO(/S.X!CH6"=-=VGK51U=9;C92,'US 0RZQMQJ:LU>79
M1SRT'8ZR>M0,M/&E91I[YSL@K8R;%Y\QPS[G3*)_ C-T?OY)R^=^^D;;G#5B
MJY?4?SOA,5@(4-'TS58?E!CT-[<Z!1_;(2EZ$B\(+V1F6?LOXZ9D8@ZO?P,@
M&$XL*-2XYYN-E_#^,4^"KO@P )K03R0\Y'!F@S5_-L[D)S[+Y5C<360[[63_
M(1'P@N'\=L$/7"BX(;\3W+C&*U0/%NZ@/SW<\4=BI ?Q5;WGN:[HT_%OP&(2
M(H,'M%T?]@ V_@I\S^1%'<+[_VAWW>>'#HR<CP,C_\!WWY[O/=]E^]\<V3N$
M][S[I[7W"3X[W&_!>XX/#O\ZV7OWSZ=+@1'X;/]P-Y7Q@>^^_;K_?)M\>+=[
M#I]]W:.[]#U](?9.WG_]\&X_'CQ_^^W@[X_2T%@%&%)EO45<"(,TT1&)5(#)
M.M V>CDP8F2TGGDIJ\BE [6$!PCI=.0B2$DN!D;>#$]  ;.3-".*QE06C;$P
M;A,P^6%CYAMOHZ'!1TM<57$<*U7):+!A!&MFE:@6"+!,IK)[F;>N1;NKC>U^
M+.V"/9W7/Y^P39'][8\,_O/64\2#=HC[&%-%*XXTU4(2$ZUU[J):&FTYE4KJ
MR 17D9J*1A$,EZD^6A#NHDWE\4\6-8MUF0K<R<36GL5-=/\R4OQPB"^ORPX[
M9@@4IUZ.O?'";"+4B7F!2S ]8JCGL\^;JF>,CQQ*;P!F!]\_3=Q\)N3BDMM9
M?S>QQ;>=W(;\BG[CE__]EZ(4__[G]O:K_"OY_==,![,;W3H9'[N5"6:=ZP%C
ML-G8"3W@:)W9#^M(:4T,$RUJ=-*5U(39G29NML?3AT]7F+_;V=3,VGVQR:UW
MDX%,KL5):P /W<R*VDLY!.WSYF@!>Y$1[Q]WAVV?0A;@B8_;_&D4F*R;D6CN
M6)@_[E :ESI>W,XW=?("_=SV&WC>=@<4K-UXG4NCI"AJ<MS.P*6,X-[6E5+R
M4]Z\V$DT>B^Y>PV2&33)D=W&>3 ]%#I^9ECLJ'I*/U5/R4\#!Q2H*[2TUSU9
MK!^U"SS5XK&&+#*VHTXWQ\K8/6UU1N5CIJ%K<%N2)^(3$.2O-<>N:E)RN+56
MK%%.<BIOG3YO)3>]V>B$%#-*#"%I<7I'-"D^.&Y#CJY>7V[FJE9O7J;5>;RG
M00+0]F%[T)^\\L?N'LGA ="$28-;V5!\R]4K$:/:-N,GISA1SKR>]&H(8Y0D
MGMZ0VO <GI/<JM%KQIIQ1TA^@FSD5:_5[=55.E\'US;]?IX!,_^?Z.1SF$%[
MK1S.>WJ\! ,O<1C3BE45XBYZQ*UF2',-U%\Y*:@F)!I]D9<PP9R+#&9,JKC$
M(!ALA(U6"**IL^8B+[DX_,OF&ZM*+GXX3EOO$C*,!R>!]V@Z'A? ^GY-K1E
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
M:1:X]$%&D\54QCC%0@@<!QVY!EIA!?QF/9,,"TS-,ME%49F[J S<@P^@/0?
M*8!;B/V_/YHJ*$^D1-1P@[B, 9D8# )SUTI$90QS"X?*F/ X6!<5-) SJBQP
M$4$(%Y8*;<0R0V5%(9:L$(Y7+$B%D>;Y&'!GD*E(1)5G0#6EC48%P!->W1!/
M:@W)"=BGP24QM<^;H$# $MOGZ3S@T]#+TNZX 'YQ_T*QX9E<[5\V7KUYV]_X
MM7$6>J'1Z>9<["SF\:G3;BKJ?#SP.&\[GU<-BH+&FC)>Y:M/TZY/P@85[K>@
M5<$W:DIY!&RP?=YH]?O#? 3O\+3;&9V1/6CUX\@4X#6G\)T0\_'7,YUIG 33
M'^:WP.OA>ZW>U9>/S9>Z.S:$#GP\V/S1,<,S9'9M3D-_?9U07X^$VAH<9P([
M)R?P.5*1Z2SQ,#+J1@2KKN5MVF[8GAP;_>,CHV^1V#^6WOE4[0"98 Q,.Q_
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
M;:H']<G"RFQQE+W#%VSO[X],:(H)<!6!TV%2@8+/921#VJ3R6,Q6G-!$AG\
M,ED;%]&2%!XU+D97!<T-QDH $0_$\LCA]>*'5;F*EOQ$EVF7'FQ_C#":/&B#
MA#$,<:<(TJSB*'@?F;+1*L:29EQ7B''"9Y-JM/K3TC9K.=E<7EYXB.GGZA6(
M'Z\HW'+:VKS<[<:#R>WJK,U:UR[_O#9Q\_)*SVC!9>O?MO?;UK7?>Y+U:NCU
M]6H62)=G&Z7(S:,O<K,&.R'X3]L)D8-GNY-J"-.R?=L=_]*T>O^8]C#,U+[H
MK^#^B$E]G;?\_;>_SSZ<_'6\]^Z]V'O^-WY_\OIX_],V_.Z @>SR/?H"V,/>
M)9;QX?#XT_[S/T[>G[SX^N'3Y[/]YZ^!F;R@>ZD*]#=@()^.OKT_?"O>?TO9
M=7^? __T$1.IG40TT"KMC^#(IB2"2LI *16*BWAQ!9W#YRX&C%FE>(2O2V*K
MJ -U6NH0W<7]$5/!--[,EZE(LFEDX<Q6)NG?8@_%C]LTWP<%_H^DFH-O[X%B
M<^,KSB3Q4D5)-*]N4T5H%7=57#GVE\;S)VY.>N..@Q^VPT'<'A<P>=GMO0%F
M/VW/ZY2RZ%KM5A9HAKRG;)8':8V$ W,4!OQ H/R<*H$4KS0*V(-KCZD!-5_?
MLE<_*'UR55$;US;]?BNV4FY,_ZI:.*-,AGJM)V]U[;;;W;-<J"'3ZFOJ)H[W
MM8\NC<HLU'_]DM<JNT/HCN__^NQ'FY'R]"KG!W?"'^M*0!-.FFO:PY"VS6D_
M/!O_\KL'5[EMSI^U.GE@\I=^GQ=F(F$7ZMGG]]67I_QL$]<<;73JXNC-H\N;
M^=*%&OWU-<XV!1/77L:;Y-IKWWLLH9L4\UL]]OO7!"F-7;/&JAL]]@=GAO[X
ME!=RZ=XK3F*I#?1^CF)1/Z+)V6)S>;LQ1LT=IW'7$9DY.V>!0S56>[2V3[K0
MEF\YI-(?7#Q]Y+9=?U)#^&>OV^\WWG9Z890>D5(V^V4HES&4=6G%,I:W&,L7
M0$M/<GQTZB8N H>/XE#IG6[OM)MKB-@ND-!;GJYTRU/*5FXT_N?G]7]-3V>[
MO+(G*F]8M 3S&#BUQ(+#&)AQU,B4!D5S+LD=C]FYX,D_#W8VYC:>D=.$_$<J
MH[0J1[+=UINOCV0[@6<=0MO^W!4'SX_(^V^O/Q\<[L%S'-S[SZ?]=^_/W]-_
MVN_!V[]X)-L':/?>R3^?WW_ZS ^>P[U__BWVOAU_VO]V].W#NSWRX=-?T,Y_
MC@_^W(^3@ZK?X+./R@@L&!$H"D(05U$B8RE!5$7K;>258WYCB^LFY]<E;/\T
MDWG@TQP+]!7H6QKT+81OS@U/4OFZX#/=F[*]Q)OK/4RSNY<*Z-T(]+Y-0(_+
M0)R4%'G./.*FJI!1H4+.4^.LX5@2!:!7\*[@W2/$NU_6"/"2=UL [Y: 1R:
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
M Y?+7O.'(I_4%.,:&SXN-JRN3>?9-":\'A,>3YVR]4(X7UC(RC% G8D) [#
MK8A%)I 03IC0NL:$C0D?-Q/>^R[3YA?.G@VGY(-1HK%*L A>,M B,^^\8I9[
MH0MR9PQ?6I%N6?@;RP0U,FQDV,BPN85S1(13XBOH8@P%F2$OD(%-A@69(D--
M7K\6*:*6'1%*/>.-^/<F+[P08JTUXXGEH&XW/TUZGNX*IW_S^*6FW_H0(MUG
M=1B)T=;&X_=B^'=';OO-U?MIACN:2@&&I'6 &%@H1A'#.<N",H9I83!S@103
MUV.;8EGK6=7@;EIQ#?$_@_CFS_PDVB=I+A==459$IESQ#&AP">U)L.+!"F=
M\5.TPXT5A1K:YQ?M<Q2R-/M^"XB?I'*XT$X'*1@%,(D!%LF""(YIM#+$$L$I
M0KQ9MGJ>U",;X!\?X)MY_TFP3](58$R2R6:&FFP\&*U8B"XS!=QD9WV58NG
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
M)#1;6=,M7C!NK(((6D=N9[WMIV%Z\3'=<B[W".])SL5P;9+6BL:L*KFB42R
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
M0,O$ BK!BD=GH@+'I6Y(?@1(MJ:$>N(T((JZG.LMKU+@AJ/P&/T5D=P<[/N
M\U3%WN2,-2XQYWUDD(5F+FG#N#3*B60*.#=_#O9,=\K,>=3_^][.3AYU1SH^
MX:<\:K5YO^E;Z)*E<""$"J!U\@F0 G[%571)F+9 ,H]D-"D9<]0_[O/WB<MB
M75=HHBZ21 KV79&&U1IA$-&0DP$+O$C2T/QU5<$DH!A!VV(<*.08C-2J1&NT
M!Y.NN ^C^1?W >GC,Y!&;S#%FL1#*1B R\P'R5DEYBBT+#*GI16US&_N8S1
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
M9S($\K&5CRS87"NM")^%L+5NZ1Q:Y99.F9=TR@,_RM@J:EV'\5.4SDH;O 1
M[[T,:(![Y YBT5?<R-$8_ZX9_TQ%K4)CE<A6,^6<JW%89A1_>98A*HTH7:S+
M1L3XSL,<;1=M]3MF#.8@DC(RHI"0P1J))69C5#1::8-XQ:1*B\/N%L?3%<J]
MXC8YPK'P#(0QS"<K&")YY$Y&L!$7^$Q* _+7TV4^!%T/;5M=R!AS#V"%+,9G
M*,FZTH \CT">)%309 J896 V*DLA6%;,N5K9N'@?I%$",38@/P(@!X>N0!;D
M61<(5CI7T.?HE3?!NWC%\^O-O;X'-$\2*B$KE\$[ACD&<J^U96AX9%JB)D1S
M1_[6'+K7CT$4K%74:M+;BY,H66SI[;LZ1WNVHI;3F6N(Y'M)13%5,N2*)8O,
M!AHW)S@ZR$3>DB]S:Q9&>KL5,6A,.J],.ILL56/2NV'221&#'%+,0F@6<XP,
M7# L%%^8#D('+1S8@C->5VQ$VHBT$>D]90D;A\Z(0Z=*:B49$W=1L:#()86Z
M+<,GH!]*:9ECEF0%6TFM1J*-1!<I0]N8=%9,.E52"X5%4.2#8C8,LM+$J=PR
MA<99$XE';=WEINRRY&YAF/22DEKUT>J,'NX>8O=LEQ39.FFQ(?!,E=VR9_EM
MZW#_8%B.QB\-=U/>/7BJ3,? =XQAV:5V-W,OXFAT1'W6PQT:CH/]WE[IC?+^
MP6@8#S(9%7);EGL8X_C-$1G0X=^U;Z9>_(1'75DQW$WUQ=$A?6][B&&XW:V*
M]/#3I]'>%X+M0>X5@FCO[XK17L@1#_=SO>$!-61_<V]TT*,/U<64HY-7Z>WA
M0=[9?]+[.I%^/"(GSUAKB-6-=)_V]H?U,T]'>9L^_'<^J4YVPF-37SP90S[Y
M"@::8(<'W_[*A<HF]S24 LYUT-3/S=%I:S[AA\S"*.-'AH4:^Q2W/^/1_M(O
M9V<T3=YS??BMQY^:ZNI[T[B46WOV,9C(+NR-NJGPE$@EC^JGJ#DX-VWI;8ZJ
M,?P_0Z62S&0,'<7PP*T-&;QVV1#_21]4>F\)F!V>" *_5SM*&/OG+[ARV0"?
M@\&)B?,YE:Q+R%H#6HTY*1L]3RKGJ#%<.H27\Y>:=_X:Y=[G^F-WKQ<W<?<#
M7?Q@K[=W.":9<:<<Y+BY._S?0WJ/^";5#^QT^U>)CH:[N!N'N-W#ZD%T%#9Y
M[93$CJ9HBPARMX>5" ]'H\J; ?>'^[UTV/W1$=GP2V^'VKZYW\O41:GWK\/=
M/+:&BG?%U,237J7>2UM(+D]WE7,MV^\-=[O7.\-$G!KV_B;&I4? ^IWM[;W/
M4[H(WR@$.:=CW%WQZ?" [A^O,.I=E:(I5=0'^M3??<9GG1V^.'&Z"7I:F^_D
MK9,"?<N=K9XNWT13)FX?ICQ^8RRE0=.1)M+.A5(T].V]G9T\ZF;<)_R41\O=
MO0XN[O3N?1X>;!($SIKJ4<ZGLYYF,$U1LMDO)L:>($) H;O3;#^Y[R=R,4XF
M_+#V=_7(3B;[DP<ZIM><R6<%3^K.DMZKB>#)'Q?WUC^LWOCNLT_-C3H#*F.?
M5%"\7/3ENC.H]_KK%>69R5NM1??%U M'-(WK[Y6Z_R:RWAN-F?GL:[W# [("
MQ]6T;-9)OG_0^<'4O+U 3]^YPZ=-&NZ.8];.&.]^O=#8E9UJQA[A:UAZ^Y\H
MGBW#>/HHV)DRLD.G,^/4'ISY]G)OCUX:3=]^N/OID!"_/?SXM2D'(QJ><3!6
MJ>#OO>V_:U,(YY]P-*X#/&E/O7$UCH\$>8.]7?;VJPGOYF*7..CUQX[!SJ(:
MEM\I]$6:F&.4+)^8B-H)'_;VTN?A]G9][8 \J6$7THU]CVH)*D)I:N:I&'!L
M"3J>RJM[D2[W:C<^61Z[)=O[>[W]P["5X\&4Q]6A&@^FX\#.G]JE 3GO4QWN
MU]]/2EM.7V"Y%PX)?+O;1[W/F[GSBXZZFZ9,[W<.7B!(T#P?CFA*]UZ<^%17
M\,RZ1QV;4W(IQY?H)L.8.,8T4X9C&CK8W-O_VD>C:GE'7^]^TMQTQ8=]<I7X
MMO/N?Q@_@%GZ]ISM\B;N#J;?A5J;W?33%,B/\T2#0_(VB/C.:MXJ%R($H;)'
MH/\%D2F R;6F#3V:5^]7ZQAQ^C_6_6(4/Y\)?$M4B:.XN5JGS=ZG.G952)](
MC\+XT1][Y> SS91)@G"-;O[;]E[\>,_YP<'P)#^X17<]7O\\V-K<7)>#C_W5
MMSOK.S5/6/-_S[\,7K[XN/'N.7W_S>=_J[?;^7_>TCW2IR#!#+;B\6#KF7S]
M\L76NJ3VO=P8;FQ]_-RO^;^UYWS]W=OM]=K6U=_*8.VY?%^W!$B7$U-15@F\
M;%F0VK-:"TI+*U,N?IS,I8F8T[.:BHW):65K.980@$OC1<PA.LN%M3P:L]3+
M^Y$<R/^W=# ZS-5=_]31\C%AX;3[>U.C0S'N?F6BW7QPFD,\F1OG(MY+8]T?
MMF;EEN8;?OI4GOX1-W,ZW,ZOR]13GI]K73#_B*>9>)]DP>R#8\5$S\![S9Q/
MAKFL4?J"2B=[?MI\@[O,?%O7J;F^?SK7T]1<CW6NCTW))&[O_:.+[?<.Z=9I
M_[^?]G[D>'0D/EZX.Q@[<J?YRRXW3D^[C9_V\]/37WX]/;,\W.W:W'WIU[->
M3,WRG<N+=YTZ?OLD >C]$X);S0&>;'H^N?%)>O!)EQX\E^H?OV?Y$^O<-]_F
M3\1/OJ>5_*EO?J^Q]0BV5 ^IL?I*E_W!=O5KR#C^Q$<?1"WPZA#VR!?LBH!7
MRK^"U.BB]L5IFJFGQ-?^X/=1$YWH[IX6N:_&Y\L]>LK];RL@W/Y^C,>^W>(Q
M[:8 CTY)Z[13""4I]$IH$1*YKCX)GKO=%">NZD]7'_NF,_NRSO2YV53QD][L
MR::*%Q_[6[]M][>>R[ZL[7R[-7BW#H.MYV)]Z_E1?^WMQ_[Q;]2F5^K\IHK^
MNS='_9=_TF?6C]>/!Q\'+_MB8^N#[*_]->ROO:+[O3GNO_QKJ[^52O\/?C2I
MU<J%S$86)HSOBH)DYF70C.><4T+NE!)+*T*(90XSWN&[*'O/&M<]'JY3%'KS
MXE71$ ",Q!PQ $'(&Q>2N>+VV\9U=\AU_"O718%!9Q%90%VET: P% +KP=ZB
M'<:2.'&=-\O>WOA,[UU1W1V58;@_C_??>7__:>]9C(<[A]M8EXMQ9X_:=MSE
MW&ZU\,)B*AG\X\&X=E.#_FQJS!L!7H< AU/.'B!XS@7Y>3$  Y\3<T)6]5?0
M4*),(<JE%2N6G; 7"/"_FSC)(D#Z?CV8!NF90'KBTZ L3@H;F$Z6,X!"/DWD
M@J4@P08E#"B[M&+$LA9Z/B#=<G1Q:GWQWC)T[<14.S'U4!S!03YH%N(Z%N)H
M.L/GA:N6G@G'(UD(K9@/Q3.C'((CCP]J^6[EEZ6\:"$>ZIFIQJ6-2^>52^_7
M V]<>FTNG7C;WD,6601FN:$HVB?)?#&!29MLT,5E&0)QJ5X&[1>&2[]Q_G1Z
M6]QBG#Z]SF:I_[H&X#7(>C89;5(.I,U!&B^YYFC),&."DTU]<&93WQ3R]8QB
M;YH*W=[[K_@W#Q/_/[WWK[\6O[QW-B6CLV4VU@)FSCOF!5+$K!%!IRRU(G_(
M/N$7 -RC.;==Q[INR;[.!! H>>%.HO:JWM Y$72P/(!"I?QX O#3"<#;!+C%
M"0#O(X12G$LL.)H%-.2&!6$*D\E8H25H8O0Z <2W)\#IF<@SI\RNL(-_E.OY
MFGKD>_MH^=K3Z*<V![=I=!O3Z)FF=GPA_^'H]6H?!I_?<QYTSBDRY(ZB+"TR
M0^,D(XI/P<O(,P_U4/SW9M5UYX-14*0/3J;D*4#W9& B-W7G.;%-RN*$5D2C
ME;N=#WKPYKTN/((V- NX#!1UQ\!H7,CH9.U*="(CR"I5\N2B3LD%EKG>*:%I
MCGG2F\ZR]_*73WEW_^24U,GGZNF@>#7'YZ *+^?KS=%Y\7VFND$\WGEZ_%R]
MCS8*2'6)P-/T!'(_6+!D#8D_>"H^DF^LZ[DHM7C^3YL$W21XQ=]G10$G F<<
M*CUE;U@]OL>$T3XD6[6PQ-(*/+F8$6P^4)M*E]N]-[)/?E Q$6H]Z)AK(4IN
M!".BEPS092UY0B>K1!>?);W,BQ_4YL3%.:'Z;]YG%Q6Y (45+HALO"9?*&K'
M#(]2:NYTR'QIQ3VYN.=DIJ[0A<.;]WH(\\7AP>'9.?-\[)T]\M.9KSZ_=YA3
ML1J9-9IB*1$S<[KDFF_-40L*M>HAX!^>SGR(:@CC67%FB^--O?8A086><6>\
M=_*;9SRO<L13W\,)3QKN)WR\Q'+=(YX.GC@#MW)J\MLWO<FI26Y^_M2DO\J9
MOKE;4%S/.-KO/=_M!#_.G.^[AV-]]]H35SS;.?,E[$>P"+V8R\BWN"6G\V*N
MZ.F>>"UO\PY6\SG:*R^&U?6MR%Z<A>;5-^30_K8S.%ZO6LGB]4OZ=^L-K__1
M]^C[S\3@^+FX9*'Y\V#U^9?^RW5%]]P:K%+;MC:'@]6W]3]R?\@-6OU3]=?^
M.GLLKW"OI1>).2B> ?G,+"A3SZO4_0(\66=X#:.6-<QJT\X#.HURWT0MV[&3
MQ\-LE<A>[\Z/;ON#X++I4R>EV*!I'&NNT3%013*GN&$N04Y."X\E=S6$X.8U
MA![>/O7[YC)U&T[GE;CLJ@YHX[*9<MG:Y[W&9=?ALNG-U%JZZ 0$9J)"!C(#
M<Y)8#45Q19>88_%+*WY9Z8O)S.:6W3*507/+'AF5U:7'1F;7(+/![]..&6J?
ME7),1V,8%/ ,P6@6K9,):;[DNA%.+#M_<=-2\\MN$Y7CWKWXLRM]?NGJ0#M)
M.(>)QW;ZI9TD?.#V8CHI&4K.2F;)C(J" 8^)>8N*!2V##8FKDN/"G22\PNF7
M5OOK?.TO_>W:7]>0C?=?9>-;P; Y:,OM% R;NXH YM8K KP\*6SQ;#>]^EK9
M8EPP=/[* +S^X[1,Z',Q6".KLU-+@?[)R5)\[+][!?VMYWRP]1M9K'_MT/<^
M]W=>;)[? ;2^]J>H9R[I7TWMXH.7;[ZL;WTXZJ^]D?V7&\/UG0UJX[.C]7<O
M2O_X#;QWP"%1#,*<I7@$/ _,R7KL$E4I1E%P$OCY,@!&2B%0% L&(7*#"2U:
M"$F)$KD+YW<,3;J^]^RD]LC/*?[_\,:WM=GL=#Y-]IN]&)+CE?]-9N7"S)JK
M;67W,*F.WR<,,<7@Z[[#PJBG-:, 6#!CL[="!B&%6@C1_U<7RN70C-L?=K76
M3FJ;CC>!U4TW9[:!+5,X&3-Y2D=U7\[5-H6)2W7#'U E &6?>/]S,OCW(*ZO
MGBA_.WO:6F,?6&.O5KWBBC46[C4!<U[__WM9L5D40)#B859 .*T&T;NP6["-
M\G=3G]?($LSW#.@DH,==]/M)H?2N%$97+/ J2>"K],2CZM$I2<JN)Y]=4UZX
M=>BY#AWD@S9!9]B?[[H_R'=_1HW"#R?'G?[<S^5PN_?O8:FU5GO=1OI'5@N'
MHJX]BJA[XU0JA3B;PT^MZ$TK!'$7RUA"ZR23YA:4A5P"&ILL%HT>H\IZ%LM8
MWTGFS%<AB)_,YIPL9/TUW-A9UQM;;[ZL'V]_I'^/U[?>0/_XQ4Y_B]J[]ES4
ME.#&VC-]?B%K\(ZNM[6],UA]L?7ZW5OZ=S <K'XX[K];/^J_>Z[[:W\>#U8W
MM_NKVV=WI!J5E1!@68P(#*S(S%M76/0E!9U4+36ZM"*7'5P4@9K3.A"-Z1K3
MW9)B_/U2W;PKQC\0\IM2C(? ,17->(BY*C0X%HSU#*7URAEZ472[OJR]*$UT
M=<'XQGN-]^:0]QX,[<W31J4'0G%RLK'5NR"]$\P#UPR25\PG(9E&ZZTP(2FH
M)XZ6N7EL)0VO<XV?S:#,+>HO77\/3CM$SK,& ^"TKR(CA9MBG,:DTJ7K[U,(
MIS;%I^EP=-2==[XJOL?9FYJ\:=B^"K9A4LY :^6\CLP") 8Z&.8C2)8TX582
M.<O@JWP=_^9.CD=1-F\5#S#@3^X+;T=BKN@C^&QKQD!K2 C&.X<*>5'*BLP1
M=6Q9H#ECDNFS?& T]7D*K(AZEL^8PKST]$,#>7I>RQS,THI;5NK&6:!6$6^.
M\QOW"^*6WY@)K"?Y#1"E*)$C\SSQ>JI-,">R8,DEB-J62/Y#3>Y*?E&"LM6X
MG%M$/QA M\C]VN"=1.XT.C1V$I@U+C.PY.)["LX8"(K22I&$:0*O61;RQN?K
MYQC!-PM$YA:[E\;?*L@"WBKN%45T4822G)568;(B1B];_#T/")W$WQ@4VD*^
M<H1,7K-6ECFPA5%0[NNI#96MZP2>9QR /[3=*6LY;N[2O3X<-8&=VS3VF?PX
M[7@VW'BHDQ"-,L5Q870$VS9BS!N9G%&@R)B,06U9\IJ,/'EI#(6S3"6C41L7
MC:_5JY>UFE4YO7G,Q2\FAJ\3@M\OB%L(/A-83T)PY6BZ(BHF7"W]$,B!#Z R
MT]*I'(T)*NJE%5A6EPC+7'N+04-TL\HM!+\I>"<AN-<I ,5CS/*4&"A1P5N3
M:!*CYAQYHD%;D<L"+NX/6AR;?+-09&ZQ^XTE<)%,1A-S$#6$<QFY#MF9*$I4
M.;00?!X0.@G!4RA!<QL9!U=JDLPP+Y1G-G*(3L9"#%N+=SWR)?"U$::\@Z./
M^UU)H(/Z9S<[?^Z,2$N_7U7A2WCR\H+10BH@%P\S&(>V"!=<4$JTB'S.N&5:
MXTN'5")DR;R-P,#4=;1 KKO-LJ0D4PQ.C34AVZ+X0\/P=2+RGP=Q"[OO%KM3
M87>R6M>BTQ(,DE]  3B"4JQHJ44T29KLEE;\)=M9VKKWW()VOC#;(NMKXW,2
M60MEA3$6&08>*;)6DJ%7EBF=0*&-!%,@?)I%MJR/:6D[IV( T%B;'21;,(OL
MK!.9L A672[MUN+J.\;G)*YV558N^\R@Q, @9,5"XI9 &J*)/H(P]A:VEC^T
ME>W_X.A@]RYD%UHZ_91)+-ET"T#?XP*2<:$8&11*4R17P7PGG=[BYMOCCFE)
M >+W('+6+*/7Q!U@F;.)LR)0HN1"AQB65HR;E:# /.;,%Q.FUXF:[P"G+6J>
M"7(G4;.3 21Y9DSEZI5G*RAJ%I%) QB"B2Y[?CERVU+UW(+V3C [G:X^SJ.]
MA/N;+9:^3=3*J2TFH+T6FIF0R%<W4C,/0;!D4I+28Q%!5BU))X7\=8%M[F-:
MIS9<@A8!4I0 RL4@,^B Q@EAC ZEQ=/S@-%)/.TM9B=E9-%PPR!:)(R2H8V^
M5HG0.D AGU@]]G7JP=XN-7WG4S[(/?PPRGEG7"^CK5'?GM%/V0--S6PE9JAI
M\GKZQ//,O?<)LVQKU'/&*],'M[G"0 Y[8-:1 P#9&89%9F:LU;H8<*X>$K/+
M-$L6.).^F!B^3K1]OR!N@?A,8#T)Q)/A40F5F(K&,E Q,^>*91E*1*%TZM+O
M:MER: O8#P?1#P;0+1Z_-GBG#F[G$@/$3D:2?'V.DJ&0EJFL#!JM%/U3P6N\
M66";_)A6M[4J#GR  ![!\!R,EMGI6LO5%2%%B\;G :&3:#Q"Y$E)S;2JN\-0
MD7D-.C$K'(K$(WB9V^KVRBI=8KA[@WWB+?%^16O/ ;BW*6H7$MBL@E587-*>
M.T!KOF/M6Z!]:Y3Q>OIXMN(%#=$ZTZ S!=H^,<^+JCKYA48(0$2UM'+SG>!S
MG%]?3)1>)\J^ YBV4'HFP.539SAS<MD *Y T YT4V7KAJP::E=H'"K-JANPF
M F@-LX_:LK9@^=KPG 3+5F;4IABF=*U$+&Q@(1C/;*W H)6LNB=+*^+&$F=S
MC-%'M6Z-7O,8K>-HP7L>HJ]%OJ,P,GLO=8N4YP&>DTA9"RQ"EBI^4*TG\L@P
M>,N4M9$7&CRN>9,87_D/^6MMH?J63;D1,3HE5+3*0 C@72(&\<'63+F)J@7)
M]\$6TR>FE=4F&BX93Z+N<G$4)*N0F<B*?/# 5>9E:47J&Y<:F>.\]V+"]#I1
M\AW@M$7),T'N)$K.4+SUA3QPB<@ 0F&8%3()0$&R,"8D).2";LO-#P>T\X79
M%B9?&Y]38;)SRD=G&0^I5BH4A07) XL6(N@H=;!F::4)@2]&E Q61.&EQ&0M
M $H?1"(>%@!1NN2P1<GS@,Y)E)PC5[%$P3183WZODBP8H6M=+BP4)ENKXHVC
MY#3<_[2-1_7K^?L :9_\V4\N_)+^VMX!;O>&7X'?P\XV+_=V\\%M+/'_Z'LG
MA17'3/Q4D:U)>X>U7;4KOEUV\1'5F;U9USP(&W@E01^/3DGKM%,()2GT2M3]
M52*#3X(W;?LYLX_]:AN'_$MG(Y^]U]+K++UC8+!:2)V9#T4QHR0$$ZQ#K2F^
M=,LTB+.M0WLC_#R,4MR-/1\E>UY+P_!>Z;.EZV9#J(/?OQ*JBA%M,I+1*$8&
M"(:Y$AWSVJ&@=S0/:6E%P#*_T1&1QJ6-2Q\#ESX8*FU9U)^@S8D?"K&$*(5C
M6H;$P$MB3"XYH]&TT4FCHX0Q;<YLR]$"<.>CW*J4@C-(<8OAR0%*[421UBI=
M;$E>F-R2L',![M<3GXAK:670FGRB8FJYX\PP6$619G1<.C#6RJ45\T3]. W[
MRP'2B-"_:?CWRC_IQ^G,W,'1A^'N*5ZG9W?,-'E&-*>ZKW[%R1C?-*&W\=-^
M?GKZRZ^GZ<?A;C<MNR_]>G+U$Z[0GRYF#NO]QF__^GF8#C:?>O_$<EOG\DG>
M\N3&XW?%DVZ:G^.J\7O*/1'>?/-M_D3\Y'M:J9_ZYO<:*]03$ ^HL4+*A]/8
M!]6S(-R5+ON#7/XU4_:W8Z;<E:S4Y7['=Y[IV_L<Q%6>?\QD]],#]O*3B#GF
MG9!'/266>V1M^746SA[E2$]Y:M_R,"]Q,N=[%G19^'$7_8ZCT1$U_)]A],O*
M7[A]F*^R>G65GGA4/3J5F.MZ<CH[USKT)SJ4PO,V06?8G^^Z/W+J/:-&X8<\
M[MQQD-2K45)ON-M;IPAK_W$=S?_]<)_&Y"Z4YZ^8WOCQ7%OLY.@5GO]!I$*N
MD@%UT6NOM'!2("1?O 0G1(3L)*BL4I<!Y4(JT=;BOY\F^6V[OY6V!UM_4EMJ
M2N3M-GV.VKD]'!S7]C[[/%A[)@=RG9]/D_1?_GDTD'_*P=I'T:5$7OXU7-]Y
M#M0NU7_W'/JKST1_=5UM;+TM_6EU?B<#AL(#*QI-W>EM6- 068&21>(Z!Q2U
MIJV#66D97,<:/8 5HL9T#YSIKK-N?K]4M]CKYG=&?E-B$-[FK*-CJNZEAR C
M<U@$RS3.EKLDDJVKYLM:SZ#$0>.]QGOS]. /AO869XW[SBANZJ10R+P$[1ED
M$1@D, P-$N,I[U!J6YS-E>+DS+2J'@K/7><:/YM!F5O47[K$+63RH(U(17OP
M,7N>O/,B9ED">#VNRLA/E[A/\-Z6N.\8V]-5)(#",D&>2_0$<&T<\PJ!2129
M@!Y3\JFI<:RLX@$&W+]2QK4=&?Y9'T$4+0L6\J9=!.6T#P#D'H@ UCGO6Q9H
MWIADNFY$<"X%R)8YHP0C5HG,9W!,2J] 1N71JJ45MZPNJ9"^.&>*%Q/#U\EO
MW"^(6WYC)K">Y#>BR#%*GED&E0C6+C,O%6?%^&2$2-Z K,Z_=1=WMS8AC[E%
M](,!=(O<KPW>2>3.=<Q52IH9T 1> BS#7!(K5OL277&R2F&:90T7Q6H7QR8_
M)IV/3*%U]IIG%6G,":@IT"LQE91YLMCB[[E Z"3^5@:A0#2L^.HU8^&,8!E8
M#EP"!^+7Z,B\\L=>.&(MQ\U=NM>'HU8VXC:-/98 P1H/9/4A:P@AE!1D1N&Y
ME!9:"#Y?9#*8KBB!V1*Q8V+.A:J+D"1S5B)S2BI'L7B4H#ISK_P"BU\O)H:O
M$X+?+XA;"#X36$]"\!!E!.2*16%"5>H#%M!:1B/J8R0?H8#HJK_!1:&35G)B
M;A']8 #=0O!K@W<2@OL4E,\$7E4*UA5TS1S7FJD$6G$T(17>;8[T;H%M\F,Z
MY5TLCU"R#,816(T*/(#R3D9G0963@A0M!+]GA$Y"<!FC+@$]"]QH!JYH%L!&
M)L%ALDYI)\/2"CSV)?"U$::\@Z./^SW<3;V#^N<-"CFV]/L5;7]Q9.319&N2
M@FQC$$+4J@?2HT3'98O(YXQ;ILM7(+KDDL_,0*VZGHQC*",R[CAWTF3N%*^K
M9^[F6^?F. &_F!B^3D3^\R!N8??=8G=J9S\Y;U*'R'*1@H&O87?0F6E5>!+D
MT<5:J,JJBZ5GVKKWW(+VP1C>%G1?&[I3Z]X<+)<"F8U5(#BKPESVDA6;:G7(
MD!"[32M"WSCHGF,$/Z9U;QXLQ6F2YQ0T!&-1(2;(TJ&PJ'-N0?<\('02=!?B
MTI"49XI7A*80&&$26%1U-3PYKXN]A7WG#VW9^S\X.MB]"TV&EFO_>E!-.BWJ
M^;28 B#FX(0UUBAMDH_!Q!FXZBVHOC9W3.L-6(AH>=6HUI 9$%<P%[)E,B0?
MM!%95.5_XV9U&FT>$^J+"=-KG:._?9RVD'HFR)T*J;6)611D*"19_2(,PZ@%
MBSXF7\ JD.9RY+9U[+D%[9U@=CJD/LZCO83[FRV:ODW43D7364OA )A,43%0
M,3)/X19SA-T(5J LH@I-.BGDKPML<Q_3(G8J113'B^=108C9@T2G ',4/"N3
M6CP]#QB=CJ<Y&N<**\X4\HDS,"PE,AY"EC([F9'B:?78%[$'>[O4])U/^2#W
M\,,HYYV\>] 6L&_5Z/LD0[%1I$PN'JK@.#%*2%9P&S4Q1UO GC->F3[5K924
M)D;+?"0' %(AC]T;RP)(&0TONABR_7:99LD"9](7$\/7B;;O%\0M$)\)K">!
M./FJV7/#6:HUIJ%H8,'HR,B5MV@M3R;ENBO5FYN4>FN(;E:YQ>,S N\D'L>B
M!%@3F*J0!5T$<ZEZ_9@L#:>73N+2"BR#,@MLDQ_3ZK86DD?K($9.8.7%*1Z+
MX3ZEY$WR[53W7"!T$HU'LJK1.<^J>@J#+!7#F!Q#J[()1F+"MKJ]M+)*EQCN
MWF 3>4N\7]'::P-*.(LN@@=I:/K)G(S+J6 H$+^CX=("[5NCC-?39[>CRERZ
ME)A %QA$[EBP.K @"A89 NHDEU9FIK ZC_GUQ43I=:+L.X!I"Z5G MQ)**T]
M9NYL84)2% U2(9EY:5E&+G12,6"M?F';DO8#PNQ\0;8%R]>&YR18=K%8GV)A
M7@ERQ:WD9%)58%PXC\ -YX%<<;G(=O4QK5OGB*J \>1-)> ^>JFLU9C1>QV5
M%"U2G@=X3NF?E>!T-HHEJ2H\DV1$I8D5B9DHU4+(LNF/K_R'_+6V4'W;0J=>
M$$E8#SEG\#*'$+WA7GGC)!J16Y!\'VPQ?9Q:0!%8-WVC+8:!+Y)Y"(*I$$S0
MFD)E'<F8ZXM',A<G[[V8,+V6POCMX[1%R3-![B1*!N^=3!0;)Q$(N<X&%K1S
MS'@.PBJKZ ]"[B45(MMR\]R"=KXPV\+D:^-S$B:+$*/+FC,!F!A08,P<Q5+,
MF.RSIK%*J98Q7&3#^I@6E*,V%8K2IBH3CN"X,SJ5*AE>XZZVH#P7\)R$R18=
MYI)K[LHC.;Z@&'($YIQ4"2EB-K[<.$Q.P_U/VWA4OYZ_#Y#VR9_]Y,*OZ:_M
M'>!V;_@5^#WLC/-R;S<?W,8:_X^^=U)V<<S$3Q79FK1W6-MUVA7?K,OXB K1
MWKAW'H0EO(J?JLCF\>)5T1  C$1R@@((F<E1#<F4=EAAOJQDOUK((?_26<IG
M[\&6I%0M0N=JM2KN L.2,U-6!I$4#6"N^YK=,I<7M;)O5*OVIA!Z&!6[&XT^
M8AJ]3H[N?GFTI>]FPZR#W[\R*Z(6"8E9JQ0]@P+ ,$C-4L&<5%%:E;BT(L2R
MN=&1D4:JC50?%:D^&$YMZ=6?X,^)9VIR5-YGSWPVY)F&X)@/+C'C(X2<L'!M
MB3_-LM(7"ZD^9L_T46YC,ED:YW-PUDC@,J(IBB<!*)57.LF6GYT+?+^>^$?"
MT1AXX>I>A,( M&#>6<4BHG5<T1C:M+1BGJ@?9VA_.4 :$?HW#?]>N?!Q>O%T
MIN[@Z,-P]Q3@YNR$WSK</QB6H_%+P]V4=P^>*M-!:WS#,/IE<O/N5C.Z]!T"
M258@3;OXO?SE4][=S[W/PX/-WBCO?\KQH'>P=S$C22\>D#%+O?^ZSFY?D#$:
MC38I!]+F((V77',:XP"8H,.EX##&I>!&\3.V6%_#%D\_UNMRWAQ_M<7F86)U
M.__/6[I'^A0DF/6U/T7_W9LC^E=3N_C@Y9LOZUL?COIK;V3_Y09A<(/:^.QH
M_=T+PET4[V46Q>FLF$L^UF@D,5]_Q(0<M(<J676]]6F4O' G47L%SCOG1-#!
MUM(]J)2'$\(]&5C>!O:6!A8$.;6>)R9,/4V1/;*0@V?:RY*]598\7G*3GEQ<
MB+[P0H^H9KL..PU,[V STW^CG'L[-.R;^[U,M)5Z_SK<S6/G2O'E7H5L5]RF
M#O%R]]MUR &4"^3,"46M!OI?$!G09IJ/Q0=U<DI7G!KM1@ZW,H>>:6K'E_[:
M^M'KU5=?!A_>.V5SM+5Z8M6(A2B)*J)$EA-Y5<D703-N:44^N5@!_>L$NNY$
M, J*).]>IN3!HR=S$;D)B($X)N7SF]#;1+CUB7 T>/:>@N4<2Y*L2"EI(NC$
M0A"1T4LV>EYBCJ%.!/UC)MD??KD&CYQX(>1P;Q\]Z7W/[?\I!CD['_Z(FSD=
M;N>]\IU8_L7AP>$H3T^=YV.W::UZGFO4GM^V]^+'QS9GCO]4[U6BB6$\^?$V
M:@;<YEH^V3,C5;')!W(43N ^W#W,Z5G%:'#9*2#01RW!^^AUT"7;$CQB4BHL
M]3+!\!.-TL'H,"_]?_;>O*FM)%D?_BHGF'M_;T\$1==^JMPWB,"-[>N.D6B[
ML1WP#U$K""3$U6(,G_[-JB.!$*M @( ST8-!.DLM64\^F965N5H-?V'NQUM;
M('3 OSO)NPV?@5"VV]WC?O%;ZQ"$LSL$*NW[_WYWK9UQ#=5/7@"1.3S<-^I?
MU;0L!+?V$8SU)#QG-GKE6P ;H&V.^N'=^)<_QE$1K</,Y/--?UPT-Z 9EP(:
MDJE1??W'<<L/]I(1O8(K0WH43S%Z\^CKE?S5E*^D^DZ)%<[UM5_C%7+/[P2[
M_J4WW7E38PE9D?1N#;HRN$2?N4UFC"%Y5N?(5C"]?O'A,#6X6 \N=&SH%8PL
M/T>&C&<="9JWJI\^<.8-[#"\SFT"8)R@L4HE%#,\>F8T(X)8#UQ">X*K4.O+
MUL>\MEXODXJO(:5Y 6VP 9PD\=&M[)5\%7L)'WYMT>U.\_2 -3Y]P(W3+[_@
M&KYUN@6,XJ_.%KP;GMG9V&QV+OD:-S_N;W>VV,:F.][:_'+:7/\(_=C;;^[_
M!==M[T,_@;ELB0;=CHW)0U!4<V-E%,!0%!@TC%AD1"E0Z4KMHC"!<I-R]S'\
MX/1?<SS4_$1'-)\;JFE]1/--85L3FK9Y'-H_0R/;@S6LS0)KDU5]@I2&.,D0
MTSH97DP@[3U!$6OX&!/%8\YJ*/%E _WY#J&\$0;*ZO1L;PK6$D/;/.[6:#8+
MFDWF33>.,T8 OH@D0-*,2R')6J& :6F$TQYSO;3*EK%<I,PS;X2D\9JD+2::
M/1BRT@Y?#5HS@%9S,@>E)HI)+ U2H52("R52H3:*6-H;9V6TG@)H*583L">'
M+%$3L-<)61^[P]H7-A-B74@(%,H0<8D159XB7D:*#+4"1<D$XS0ZF3;W%;N\
MN5^3K$<]!;P7>L'$0>C55&LQ<>M6P]$<'<4;\"Q!F)LZ7[66)KP&M?N V@5/
MF&7::UTB&<I4/8!S9+T$+J:HY81A217+#OY2U43L25=F-;J7?U9)#ZZ*YWA9
M*0_JDV6S#E"M2>K#9<^A+R9]C91(,-RI05A(AKBW%NE2"^2=E=H:A8F72ZN$
M+V/R_$?+YG6Z[.))F:F0M<FS,Q<_SQ_?X?S+W [2C-8CIRME"FL[ZO9;J27O
M>J%M4DCH>31;6J\3-X[&%I_?8BP,XW!P_2T3C7;0RM![I@,Y1%X<CLF?J;EY
M>3/F:0C$*,(HQV5I 6B$"A($C&K+_$X^P5'=M-<[CV';#<B";7& LGGQSK2/
MS4E_Z?>+(8VM0S0U\->-V43T([OI!%.,CS9@E60!:'9[64K?#5.P3+H*FF,6
MIBW%7B]IBG_=/G,E&( Y%K0;BS^3DLFIJ\WJ55)QMB ?3TC+*X6T?/10[#]3
MH>G#?A['KR%GH_BSVQ_T/X7#T#/M!0FS)HW66-]M_=I8/SAN['\^WMCTG>WU
MKZWFC[]:V_OM=F/?L>W-]_L-^AWTT'9K.LQZ>_\#W]A<.VGLKXDFW3YH?OI,
MDGX$O7D";6TW/D$??C1.FIV_TCF?X^;N#F;""BTMPD90Q*/TR I,D93"8ZP<
M4XI/!UH3P0(+'/0=TQS8B7(R1&64T81[;-ETH/6:<_"O+SYTCMK=DQ"*D>.M
M7]P<'7UE!/2M+[_Q1.\#Y"E;XN.X_HTXZM2X3^,N+5+H_O/(U)>=4@(%TLXC
M1K! W)8E4IY*5'(E+%8X<&^F9>3F4Z\3ZB'CRJ(<>1T)=A@+=A@+-@A=O]5/
M1P, ?--9E>IX0 JCGCH@4-SQ\"^Y;ABFF,:+"?^7>D5A^0CA_TSQ^8?_ W]1
MZJ6<58#&:GK_LPKLTEF%.V2#N,>E5W@U*C%^&NM=W490LERG,V4%P\MW<"&]
MUB&8./@QR[F/QQ&>.V=+6>PQO>-YDGD,S$L<&_RV2O".B<1/XS+5?49_]5MW
M1]?>YKEZFT>2_7TDV'\.>SW FT7Q,M_70AIYF>'S]>_[&^N?<7,=VK()]VS^
MM=>$=V_O-_?A';^V3K_]:NQ_/YCV,D,?#IH_&ASZ@S<^?2/)JDH>;NAGIT$;
MT)^/^\W-#R?-'U\OQN<3%FVDT:+28H8XBP1IKBQBRCM)&=-@>RVMZF6EYYQ9
M]_%\R#6^U?CV8E,UUO@V#WP[KU!%C>18DX@T3OY(&1Q2I0\@2MY1CTM7!K:T
MJI9I.>=-M$?>(WO-93''[-5V#X?]4)?'?"6<[7TUG36DW0/2)@,#%':.)TAC
MV*><W9XAI:(!<%-*L5($9=S2:KF<3\0L3"!9O7!?+!FI%^Y#%BZ>.#T(ZU1R
M@ZS-Z2V!BYAH/8HQ,!U98![[I56Q+-D;C !]?KKANIU.J]^'T;X?Y:B/Y2P<
MY?@'@*K_Y]F\U@@V.X)=/$K(K#%.>A1<="E)C4,PEPJ8B F\U$Q025,,.YF;
MMVB!'$+U GYZZE$OX'DLX',* M1"!5:6")ML,>" %"\I<I+;,G+* F5+JV19
MZP>?!GYY9^N>GX(<F9->M]VN/1ZOAGZ87JNVG.X%6Q<.!&//G0T4*84]XL)&
M9#2@6""ZE"776F&37!Y$Z@6RG.J5^Y)Y1[UR[[]RSPE'\)YZ&0PJ.96(>TR0
MH3H@P8PA-M6GMQ7A>'CEUMKG<6_"40S,+WAX2F[?'>S=\WA_;3XM' 'YNYK>
MS32[-93= \HF0V4 QD+@P:%4Y",Y/PRR0$R0 !##I>"I6E2",DH?3$)JY\?B
MKMZG(R'UZGWPZCTG(E@354:,460$(UZ"]:!-L,A[^"*EHA64IM6+YU:HL_9\
M/#SWQG4'HO[?OQ0E] ]7K8K'\)?<=M_;+.(\6^=?#>8_ 6,;'_P<'2G^3\O8
M5KLUJ&W0^T'_Q4P:V'IK.4IU%! G42.MK$+642.$YT[(N+1*RV6!YQ4QLQ@U
MF&N(JR%N@6AM#7%SAKB)?3UJJ6-,(6\,0)P'=FNH]2BQ7J8CUA(G-YM:5FI>
ML46/"W$CXCN5;X=4I>R>L0;]0YXQ,6)3N95>;!-?O7UR;4J&D04"Z^@9C9 W
MH(=?I[:=5V;J6U7JVJ%OGHEHK5]GT*\;%S:@2TX451$YH75*QL>158HBI\M(
MM?=>6KRT"E1I@3:Q:@RJ,>CQ&?]IZ'6]Z>_5R/24R#1QJ  K6VHB4("Y1!Q3
MC8R*R<TM@B..2()Y<K-FMK) Z'0QT^=97L_)Y&VSI_"Z4VK/I\[JM;D7BI0T
MT!R>%'NF7QC?/4J9O/KA9TH86+2[A[MH$'H=X);!#5/ZT,+!BBI:ARF72OKS
MJ WO+WY+B;_23%+\Q]_PR6_]?^>_R!__7BZ.]UINKS"] &NU#Z, +QATBUXX
M-CW0 S 3IG5X_H+^<GIZ>Y@+,8^_[<:B.^SE=>PGVM*-L067P"VP[E/RL58O
M TFO98=)B/KPHOR6=/-Y9_J#'BS\W98KNG8_N/S6BUT(O0PDT,N43]+G=*C]
MZ1[]-+V3PIX4J<,KQ8^0N]@+_S=L]:HNCJNFY[1H1[VNS0G+CLQ)=S@H<I[+
M_,W?>0BMZ:<<:H<%O-;LA@Z,;UX:Y1_]8G_H=],'Q; /H[*<$G_#X.1X"'@"
M? 0C -+32NEM#DV[?0(C_3.TNT?PQ+1/EX9RD$H5%2?!]/*<7>AO+F-4I$3Z
MN3'CCJX4DQDE863[@_ZHDRY98[FY)@]G$BJ4!"SUH]4ONC]'G>N%=OAIH.D@
MHC]ALHHC$-5N'I[T-:R#U*]CN"^T6]#HHC5(!>?/1BL/T)73 =U-G39'1VU8
MRNG:U/;BN-5NP\,*X_;2\_QY4QQ(03_G".T/8?J.)IY:-6JE6/-IA::A3J*3
M6K&?BPZD$SC7#<3N(:RXT5# #?VC2J(N#T0J2IQF8FHDSB;>[9G#W9#[E>3U
M3'I&>?6J(4F:ZB1]5/6OFMF09+'5'?:O&:J5NZ;>>UGPM3[LC?M?23<LB\%>
MOPB'238;I@>SS,ARD0R6Y7S9^VY&@UBLPQIU@VZOG^2GUTURDKY/5Q93J^$,
MP%):0[ANF$7#],'2[M\^,=?([O3JA_9WA[M[%RK/I]:PE>+F7HZ3MDUT<HSH
MO8"J5HXZ-X=VKA3OQ](ZV#. 1T<^4:C1:*1ULYS6\AD^_-<,I,]3L%<P8R5W
MGFLE%37,"U=JK DSGE]C>(I'<?/*ETGV'I#/]/.OC2\[L%ZM#9HC5RJ9<E)8
M9)U0R&O)G1"$1V*65O'*=4<P8)&WTS2G<+T%F?N<S/;ZB;^"Z+_!N3]I[NXP
MS(W@CJ8C<Q%Q"G.OO0R(2DLP (<F42^MDI7KZH>.YQ[4UUC;/))2R$]\UQJ
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
MU_/HR/2@1:.'C?O66RDV]\YNAC[ 6+9;L&QG=E?>![?/:=;GYL>[6J1_][I
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
M"%,[S;>Y2BZ?2OQ@><PB@#B(X'@TZ<@\_!,UL#4!?-0$+9DMXRBF=22 N!;
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
MIX6U^>,#V?[T=:^YODN;F]^3?[W3@+8E?WRC\U>GF7SUG2_'6S^:<6/=\1T
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
MN@+A8DS$943S'/XOGT5<-$W*DUXDK!P$=Y"POH(\;/9\OJ%OLXKRN0@9SL(
MJ K1ND1+,@=#@0!K>ZX&*7NB4T$C[H6?S>>D9)C\J:=VZT2DTCD$4WL7;'&-
M0-L/U'?<?7%'Q?KQ0'W_!TRFMW#6P5B7L&RUD.\G*LMW<FT],1[4T^7HB[T3
M&703*!<=.XG?)8])'3Z=@I!$2[$*T2##3#5#5QZ;H2"]1G!M$]Z8L(!(=F\
MDU*+#0V&1^&]6=4Q1WQQ;_2Z@K?YA]%Y1H>L2 <:4U$0S-K5HR@1QGEX<6"]
M(\E:!(/+"+0ZD(2F-OGWI$5*?#]IC(;L<D@@0A4+C1#('=U[A7-+$RV!^A"6
M'I\C.P+C)!AC0T!T^LT,'A$Q3*IB;#@-SQ/&]@]I-3$0\@93*AL>^0;C+P%N
M$6/?<SAG@_5<WES"K\IU;/3WG%![B!^(07TV]+,KQ>JS&#83?J(WB](HD8Q!
M&CP!_R=*HL5J 6,K2+.HD C#.WER97Q<,Z,"**-]E0CVFHLP8HFKW,$_N/#:
M06DEBKLD1V<*@9L!$X4.B_%)F)5PU6\</)8(1ND33-K?T\SPO3>%A5HAT "=
MS@C67LA +L:_Y/]J6P<W0[F$MX%/,M :B(5,"#IQY4\\= Y>+YX2C6%5O[E+
M/P*[*N+P]=H HTGI_^_">KU(_*N>Q;^R^%>GJT18GF]  U.\ Y<DP^M^CDC3
MOH07KVLH8-I))#XP-)V)\IZGE#RUTEF&7G6K!5/D;ZKX$D"8@ZK*"V>W=5.9
M$.RM?$CW.BE[UFA!_D<)05@J(NUTHJ?LQ^ !F$)Q9L8&_( BOZ&)S4N^+KCB
M?XBK](](XF^_6R=^CJ"5;.I=1Z%)'_++\;ICLU5K!0&Z$MB A> =:XE#":P/
MTC;4T\\-HI&B1!Q[]K0_$K75/=NI6DH'^C!O]3WQ1WU%^HN\)SXW"M0??*0
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
MH((XI:PP5V.\ ,/@O!72S<9W5EE&&EHO2&X4FAY^',OUM1WGGN!]#3^I#3.
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
M*27_\*XTX?QINBHP?0]A^S]%^=>]8I'U_DYSK[8^$"!]#BO$9AG[+O/HNO9
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
M!4,55506/KJAFRPK'8.5N$S#D /@QOD*/!8M>ZG=C294JK5&R4RE3D"NH '
M(C=4 =U7^.PJEBK&[OBQ=GSF1[&,EWT5Z^WK#!,214=^$=98E!Z+0!D35:)F
M%8=B\T)58%9SEB:@.K14(8N5^24'5UA@&-YRQ;$,ABKV:R94WR+*K)9HOU5[
MX0Z1OIE?3!5<F$DL9/ V4X]R[33J-!(9I)'T1=F.&Y'7UDD]"J<D%6AA Z:2
MKY:"]51D+;\H_.!K7I;KF2ADX*O&:53P/71TS:GPLH3ARE_F!N[Z5I?36QD"
MY(GEB49(CZJX $.PJ/4T]/E/S=R?O8[_6>9OO3%RS3E&9V38^M/TFLMQ,1J\
M&=/;.H@[$F78Y@^C'*7M1E*TZ17L*IVI1DJW2F=4FU(3]D*&CG]6^!(Z=*XB
M5C)K6$?(%U$AS<T2 KSLO88A]$P8>!SJ:AO_^_9;4AEEQR%^;W]NEVE4KLQ!
MOA:92F(*5V4_0B8,?E6G/[>=#P3:IJ:!L78C&I(7Q/V2HV7PF&^C*1VD[+0L
M%RL4)7+QCQ5&Z7.UB3S)-:'48ZJ.6R)U5"BY#Q7OO*^\92/+^J?INIIS@T!T
M5^0(2.]O([I-A@+=4*IA?]RV%ER9J*^!?6INM'5*@\+"D]^CX ;!H1 _<",.
M3H*#@RVK]7@3ZZ^8:6.,Y*!;"P5R=W>2S$;^&##(',XWT%HS#M\LX_<P:J\B
M*P2I69YI53\E\XIDD0S?'"B^Y.:/A;PJ,=G!O>U!6&4JR\\06&.QX-;D>W /
M#\LCN7IX)D99S"\A__C@[#P13$!";5J7=ROF?036GU",D4XF@]W,5AC=R#FQ
M4'ZB_/(UL #NVHEDKN^?QTVZX0]AMG/1/IN19%&F1UQEZ4TQ-U,<9,VF;*R#
M^U%")L^!^#*M@O)TRM2WG*$NL."GOIIO.[V@81H5J+:,_6133=13$NLT..%.
MDE3=0VY2EAQD2KXPLPK+IZAGAJN1*<R1P4S2AP I7!)_(3!^SFY1^5<:BI*H
M2&902ULI&HW;(<IP7V4Y=NJ@%"Z5&*^S5-1-SZHR^G;%4S3;*M\M2 89'\NV
M&6E'@L]M[*F$6SGP8S&JNC1?R]BF>=F]V<JG]EY5UQ!PE1S7T9$PDG!SN/^R
MLVX%*V<S*4[A@B4J[XSVKR24<;^'E-Z#I_CR6+UU(WA$13GF#%84Y:L2"(@>
M9\KQ17Z)PTKKG*<QIRD2-<GL@153#1TJ::&NH<,()#<9IZQ9-B!><XV80_;C
MW]-,Q189QWE*)=W7J>S&>R.M6-R'5:$II[IIR4+,-Z4;Z/(5IID,3<$E>:*J
MW]R>+X$*3==E4B!/P4BO)FMBALUOY,'22<G5^W)_26UFE) P:J+I%G][DRL7
M^JH:7&.C,SZPM-Y]))!0]V]R9\K BUFC^F4N="\<_4C]UDH$(VJWM'%^,VTR
MD]F9<N1>?WA7A:S-;C.SVX8VN\UFMYV&.?E>W@%4C2%IWICYX1P.J'4:=]5+
M"_96V"NK&%)5,P$ML_.LJOZCTN9'5:V3!6>:H65.GJ(\:]0E9L>7_4K,&@SJ
MHR8?EKXF3LR5N1_?=/B"X3I*+:CM7$Q8I*QF6;VFC0+,-=^:HBI$J1A1N(5H
M.VUV!X#G0A!<$6UQ1-&JC93J2EQ(XX94T]Q49PF9=,VVBG2HI2/(\PP%IBNY
M"G/051,RTQ.9MPN#:@9SNV75:%FB@*@+J9'KK2XVZ^L;>/(ZH<HD'2=0Z6!<
M63FO=BB7-QX;$<^M\ 3LNK$2-5?,Q^ 5;;&)J[D-;^TVYV56?("9F:4R07_W
M7E4[C%"Y@L*!5E"$FSB<8-T@+)%T]"GP(2,A_\!NS%0)158ZV('7%+/D#-)$
MQ*K^D>9D!(:E0[7*B!.X$"N*=9.*+;8Q1)PIT"0A)>TVQ5MM$*BT^Z;KZG4W
MWVGI!#IR*8 MXY32]Q)QP\&O&6P^4U;RY<85NGP9AS&3-[C+(=GT:KC-.S:=
M_U&F TI #QV+(H)S'%[F]&WT*[HU'._J/K$X;X(@V@*A,CF' ]$:^S&J!HJ-
MR)E.(J-P-BS-O$K4Z[L1^BIZDVR46K#Q-PF/;-)675=)6,Y<N7=:><DVH!4
M(W-%YI9L0,+D8@<4C"[;V4]QNE7-N<HE932,Z<X"FG.-=97RF%WFU93Z?W*3
MX[)_\@Y1@>_A =_F/>4IY[!D%$K 7. :2XUQEK;(AX1S,0E?3E7Q;A-&RD/)
M9&O9/ISP\D-1!JVK4;1[[(R/&MLWW?E2^U)BB3R-#(<GKQ4-XT,B(=V(^G 1
MWJW(+8U1!U!N-!;?,FX@!6.V-.*M"XF2NMN.5U(/2HAVJ?YD6([TJZS\K#*E
M2.82P!@6[;.3O9*8:U4EH:QE5899N3_1.MR4FZ^E&E2%GNK6"0G)W1J =,$_
M5I&LO"R @X4JE38G!@J,35&\IMEW5C4I?7O<]9(Y@F:<)&>)5)V7@<4-) ^0
MC!@;T0.#><$!-OX@9IJILXX8 IR::"JT4IUOF=H<*Y)C;/*M,2!,XBKS%YPJ
MJ]E46>-;BA6QL=G>4H]2,K\:EZ['RZ P;BH[ A$WHM]4^C(LM/6<)M1K!PM9
M4<!I&'8J$%"JI!#!/ 'Y<X5P#+/,QZ[Q@3:K3.6G2H(Y)8P(+^&:5OJJM"XY
M:)M#>'<D-*%$,S.=!<UI3%2S%MEPCOP<#[I#4)^516YB:N^P5 K5?)R?;:D;
M<R/%\;6^F-YB#TUI3*N-MV ]$4M+$9QL4Z9W84(LR>I4T 2!N&VA9OQ0RY.V
M\PN8;C)([V>5BS&L(LL8GNY6WF.S X99R9CV;C9R-\0L1410M=(F(BR^@>,F
MAY2H%0O$%V'1$N&]M4X7)-&+1=JFL*<+#@DMZC,:"$+1[72<U9U"17LK>S<!
MD<SM,0W$.(D07Z/T50]RO'8GX?\/#3W&S<31Q+X6G';!_417".$AKP(D@,/C
MHB,TQA)#U[NDAPKS($NHBY0ZY<RD@?6U='L><*O 4C8@-<RQ)'MA7U'@/V#F
MLS3$:FFY>:E C2$,(M&A<A4(ZTZG1?^=J9&[M^Y1)4G!?:0M<]X$ :$A7V%@
MI:@B#Y/+E BU?@4K*D?!9%.0P01J@J9A0LB^0:5I;UE221!U2: "0RF(*SS#
MY-=O87X><*OK8B-MMO!\E01[QV6M6\),&B@K=7>,-1MOIEMM8]3@]^G.[S8
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
MD&GZV.7,'(BVW[+GA)%LP;";0>SKW,V'( &6F0O&,FQ#&(^Q56+[%W?-2^
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
M%>VBZ@!$-C.>E*/A:++F PJ*F]1BI. 3OS('=<ZL/9\FLLJ&_0D?@TN;2,X
MQ)RS_]SS>V1YY%1+3; ZDD%AO1@-N'F**L*7 $ U)*D;P.[=^.O2.5'MJ+#Y
M*GJ&8G+.H]KNCZ]PY^>;JFN;$*K9?$6G5E^)SLCU>K\1=4!*?>Q80#5\M"I#
MX(G UI4M(DI)5>1\K"IV$' DC]"VD9 ;*<!&+)Q/;CA%CFES5Z0+T7GKOL("
M-&?X5,-])YK<B'2XI>*S6<-VX+G&VB!=+'A!80X48A^^ISB]<B<DS.3YZ?C%
MN*\="NIFQJ*-<+,#7QRD&]B9N ''9<(*&07O(1')2+%=X W:O:98R=Q^N/V!
M4QPX<?ZH%JL/QCT1F.D69\+NVG.AQ-F 4C:'!#)8@*\E+-_A_\GN+:7XG_!K
MK\* AQ=TR57DZ6.J-9CC=;-?]X8:IPTD'Z"F'N<T:S\H$YD!0U,#.M%KPNG
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
MP7:X!_:4(P <3Q\ ' \ CKOJ[[ZV,ZW?YUJXEUSGJ<^Y/Y!L%Q>=N/#3Y/R
M]"CV&:H1/ZIA_*5@-3Q+?/3%38SWTP/V;N%DWIU.F>'Y,>U,B96G,PU^ZHB\
M(\D>>+@'=Z.0IVQ=_!$!$KY&"P8H"H:<H+.5SE[TEUYMII[')<+I;9SKV>:S
M8-%MU=0T\ ^2<X]?OS*/D7,FR#JA( HLK%:;A' YN"/#TO_86S4"MW0W@,21
M7U7RNJPK,YJ3YD8O8G.MB%$$(NHE%M*KLY($3@@[(K_I\5L)S1%)$H'DOCLJ
M;4;(:R1YYFUGS?WYC5<$=V.WDYJS(%4ZJ[RPNW>MU#CH1$XO"YR&]$CQX.XW
MR_*R[6!R+19S[5"LH=F9/[771+YV)$QVH!J/"\-7J2GI=/:=X\R3L3<B=&N:
MCOZZ:)Y)9:?2C T>V<#XN$PJ_I%RYCC--%\F<CW>%:7<I!-P!YAT!#8Y% 9=
M]4U]3<6%GC!1JUC4B!7V2*J1),,^HD;IS'*@:)G29ZA*>C"<>+>$:*"Y<IV%
M1FTY \!0%%';4> K7URTE16UG4*8RMI=[E<;;9<U:'V"H586F@%V^EW]\#M\
M$KX6W8C,M.@.G* 45C;D-#T2=GC?#J 88+F$>8&)!4S*W<]P-^'K"0)-45R8
M-([YZDV$WK#_].NFH9]>[9C+'%(=X06!#^Q<XEAX2)EZ5#M*Q\_@HOX-T84(
MGD6Z/F?*/]O29_>;2)+F&6^+"!8TME^!R8[3E0H61"JAF>]W4^7S3,<)Z.E'
MP#KHYHK!Y;^F+$'D7L*:7U%J[:+9AEDI(GFHD(5)5;A0!.AX>8#6*WR)U)VP
MF:B;U;6-6U:)N[, VQIN>>M3)5#4H>U>I' F8I-7*BX)P'=^D<&Z;[=A6CG
M&$]UI,[!0 U3-=Y%\(]J^2 G"8/42)6F?$:%#9[4:+Z678TL@))[%;-M^.,%
MRH)Z"SVD:07)?,A)+)DD>C^@*Y.:T7ZSLC[<L$!7\ 9*HB<[J<EOJKF/!0YD
M.%V;--2@@6EZ_V%ILQ(%,_]^WA]RJ/ ;6XT=U8VT/672.J+W6E,-*O&MN$-H
MU) ]("3F0T0AVU2OE]'T:H%%) "0!N[\6J?A6U%Y&?A![F<UW>Z-0B?\88<Z
M5 ?X9EST99]9BN0 GRN\45TDM0SA>P17E!9UX6#H%;K1!O^V@?>B]XBU:<[]
M'GR@]VGA;[A1[^S!@%V*.9'UW:1R>GW$P:[( 5;NM=YTL-8;>24R?MC+GL'=
M-[.=[TL:XMK*^ Z^K\^O#R^Q2FZ)>$8BSY-9+LPXZK1E;Z%V<T^VZ=4%^ZIN
MSP""?#*<U;A"R4 4:83B]J]00642Z@LLYQGD:4ZHE38N [61O-*=Z,-PO&N*
M%#<ZW'"B/TBOZX-QG7_!^D.\DY4)C@V<HO1(GN(\_'G#Z#U9]]EL\A0MMUQ)
M_ISRE2+2;I7%4IR72T\=4B9<^-0J2=[/O76*125KG^C])I.06$"#V))S.H,4
M+"%1W%B3&><#=BQ6#H2&YA,*)S^AJN>#=@L;?6E*)8]:GH,>D,#1P77UP E.
M[RUKQBV&9PQS+*=S>,M@*5>Z&Y-W3,5$"VI>)<=14S6;\Q&!@Q<0CQ@8YQP/
M*CK(!)7]Q6Q)G+*3K;E,.1L3E?&Q#8U/;T22>)G]@@=1%(R0T'JC8["7=K[2
M#I#[:7<&"T]I6C;USLTABI+H0 A3>46BRSQ*ZB#Q])=O@>%&R&+E0F0,[RE?
MQZ_8:Z\$X_#DV6,--%Y*[G/VL[!XO&C9NSG[ZMF7K)>U1F\'TH00(MM*W80W
M\'F+-.*,<%F/'WT= S.F>2KP^[.O9>_;EP7&U0]GE*JP(4 ^X6\?-[D\J>Y;
MZ?P61AEEOCU](/@.%9,#M IWPLV)A5JN$_9I*TFZ\(WQ2B&W7;S?XL 8Z!"
MF*"7M*+&](O]>B]ZP797WNMVE?FU7OGI/\WZBW#R7K2K2K!P/+9$?_UV 4GJ
MIX_^B24QRQDQ4W#$%0[+D^O:B J"DQ9>@8@+N 4(YS%$/M@H,X"31HG ,GEM
MF@0BG9DG.55XF >S9G4D:W6+Z7IF*8W:*EU]V9 (]'!4Y7A0F]GW>VX$4BCC
MKEV\29+A!.0<7".#-_#K$6)RV45XZ.4H'C.XJ7K&[$8NQ'6%IWEMNH[I<7QP
M<.#6RMJ!A)E+"E4<Y%"*I$^6E-L"W*O5<W*';RL!X$U;+68Q*!G/:E[D<)6]
M0>P/+8=TC'A>@MO02#+&-WOM-PEMN&Q..QRQ)[$V&PNG#@#-/TJ@P9</0(./
M&VCP@?MQYL**L1MCANG4<RD$BUG.5^V<>@R@KI8 %AG7K%J=KM\RHT#ITCAT
MT201?S^;5GYIB>B2&\YQ&%&K!C72(GNRCLP\1H5D"HYHZAT-76;<C#(SV/^+
M&HG<@5JCBN*95!WUSD<)M!OG&R7>2+L$\%[7^ /N10CMRH(Z.G#HF^,_8+\>
M=B!$YVX.L#N+I&.@4J$3%;>%VRRQ]:"_'SEH:-U1GIVZ]K>4(\_WDB*VLR#.
MYW<Y49RJHF@M1Q@:!FC$A-%2-H"2J674/88,]JTT^N^,J"J_GUSI>#04(D\D
M\X$O]=8\E$N]Q^HWA]RQB&T%;J39Z?LI'WB2M-?%5+@E=EX3^=KV@B1]T?&W
MDOXKY*U.9]_(&I'1$Z_>TS]BH-(7'-3-_:LH#SV]S+S>7=6LX#XH\UG0/QXS
MRH6D?XH#J#C824Y:Y$*92O F5=5#UD\J%+[?FCK_#D,HQ@^N,E52'H$SQ,74
M=,1Z$W"X098R3"ST"5G2;V,;VTR &HSO]@2@"48MO)8LGN=]4Q9I/G<;8J-V
M0U"UB<RNVZ+''249>\BX>&ZR26 R&>S'D"+@P)H;]-"CIN&+3,41J6D9#<I4
MA8FY&_FB@U[%S\A%_QQ+9N1FO$ OW//@.*W785Y?44QX-][U]CEYZRB&-)/8
M-!V !0\ !\5RT%VV=":L:HU&E0TW195-IDB+";(8O\Z9*#>:(KJ]Y"[N99KM
M5M.@7"*BH-"' ^A-O1HU[<S#2$O[N\Z89#Y6) A3>AS;$7?U&9'K=F_-X&!H
MZ40,<4E_ZEQ[H*8=H.F%EF6O$2 *QX7@8Y1&*%'CV3LI'L>NR0^2>Y6CQ[&4
M#BAE82&WBU+NLEZ;EG,R,GADT^7#2D0K=U)@WO#&9>IQ4F;GVM*74M]E%]1^
MGG$3+M-?>: @S7DX0>N-XH'"\MWM/=92P(*:0,(ADOG87MP%N%G3F%#*: (7
MJJ1,U,*_XV;G0QN703\X;!ATV&>1AC&+J\Y:U.@=AG3J08R/(DFF';5^[\A1
M]0[F&YQYO&Z<8)J*6"4[>$/)):9NON0.= 4@"!^?NK(1J.U-[[#+KWX;%BZ7
M3*ENA4\PL*&5]L58LDJOX[U$(YR['KA/S29L[YK)QSC_3WMLMSMX"'RX-C[Z
M%=^,[?G9(YH1XBZA+/H% V?$IYL\!$*XC&_%+X'C)<S:O^TW]3__M[,O'WW]
MY%$Q>_SH\1ECVF0"U($G([L3^!N^WZ=;*'W06TU_<7#^%X["<18B?N$>>]NL
MF9'FV5?_I,\8GF .$B]9L2P?IPZ&>X%%N:5](]O=!VETF;-'83^?G.E5X!9;
ML#7UQGB'W/"/1G/R"LF;&MPGK.-_M)U$X._^EA'GN62.<[X\HO&5U.QP$/G;
M1?B1[E*UO AQF.SYBIM8]8K8F4(+J"'Q8B!O*_##-H0@BMT90,NCO&AP&4%H
MF3:(R.:.C +A9 FV0?SRDM>ZT(,/QCYKZC\ZPL!?5#JI%HY/!I?F]J Z\U06
MV?1-C]P-]TUTQK*-S$[+F\@&?.J Y?25.V0J6SZH65'5R598+3DMPM*N2F+]
M(^4FTF44ZE'IQP",1*I1("G1)=Z%86(WB;X8WO'2,@W^+6GU$[R1>HWW&SE8
MPMJO&XGFP9:/0$/:.9+]1?HU4;PU^B.W\3,'<DIX\J6(^1YC09#!BEA)WUE-
M4R-V.PP,>',8'YRW6</*(')6PB+%!4*YC'?:LL\T<0M^UL$D%UQ5EB:HY9"/
M5LMI(\MWK(6]NFA5!I"G4$^R2Z&NIWP-4-+WTP=\#:0NXV=K2B9;R_UB%RON
M<5VKBTB;$E-E$O8TFEC.]S+&?O7/Y7K[]4^S;]NKV;^UD$PI#<"*X#/\ (P[
M!8%U)0-";8D ;9/'1>-,LE>5AJ+&#D66TT1AX8VS,^7VA61?ZS X0$,LD3$-
MQZ?Q4,>:@_;WX=[PZDK9^<6T3SAY%[$4_GV&G17?__+JN]G/^YYRMN2[*3;F
MZ.$Q?7<6>.7(T]B[496H5'J5<ZD[0I>'D'39L #'(NGY54>-6TPE\KX C1)Q
M1^SG*_ ;N\30[&^<3M;< W4(,%>7HZ 5A@3P'D-G>HBY4"8CZ<^H9BKW9V\:
M69GX!E?:).%(3+2M8?I0^.ZMSKSTJ]1)9Z*.%@?;UDV1G7?N?&!NT88E4?@-
MQ<%C.):MGULE20[*P20'6U\C+>*!1O2EIJ=2W;*A)A6>=[>'0+>R59R$5I+$
M;4^W4[1<P_UPX(;HKMNS:+WEZYDM"\TVY9Q:?MF!U!"3B>-%3(=&=%'WXT8<
M>,>N5U8P6%E3RZVXGM,<JU?25L$-./ &QOUGCNY-SSFV] [$GA6'O"16N'=+
MGGR4()F_/(!D/FZ0S%UV%[]G.!P7),E!R>1]AH&#)ED'G+-\9O&5V,8 J6I-
MYR$L$][EXX.E>^EYZEB72:[<)5EOG .K4[#?P\-YU,2L06:73 R?6[=R ]#Q
M::*7S &Y8]K35"!52D,@_;V>+KWLI)51LX0+ 0?3UZNZ7L\B7572595G0.Q*
M.I;UX/,:TS0&&/F(^2 _%2HU6G3A]L$!"5V,I&H]*,/C84@GAQU1%$^EPM,,
MCPHZ[9)*<#%&;K7V5M/'R!T]/J<PG><%3@OH+-.2 R[_]%%8"ZL50OMMQ'-H
M8I'> %A][C>MWU([8T_X_:L<HYO I@=C&Q=R=MK;J<0R^:?6N7SJ2O"C;"JR
M'#UW&^7O0>"G$-Z=A!$_H0SYO.R;H:9U>=/H/3I]:J/U\ZM?@5..8X4RI1LL
M$>)@KD#B+^&H 8/Q'L<OS'J4P[AAJ'$#6GA&X:,SBG4E"^!3ZN?>0EC(YWV&
MU_YF?&UJ<3]PY<^P2>P3&F[%$=(4,0\NML.<<>'GE(PDL/O2/&4:/-K(48[P
M52R9/E_L!OU58O[X)89Z&G-K0P_N9I6UJ_S<.D6#I:-!>C8U-:XP3Y5\"$@I
M3%8N+1?!29%7 0E+WUJ_).P%CY,TU*#M@K%_2[5-R<"U2Z$BX#'Y5-YZ(2SX
M^4T).-7-:VNP=.)M/H.=;(WIP#]!LYE\ P40@NBA$=.Y=WQ):=!/H55T9N*R
M8#R8ICUTM@ZK2FI6^G9 @GN;5I2V_-@23RX D!QAS$'6!8TL[4+AU@X^[:Q!
M5#BO+2%BWDR)'1M[/&ET7]'BF/T</_T3R^#>2Z_PM>"I-Y0WT:&MC!Q"!M]U
M]?-'M#XB11.:"O22QOF@!-L1QFERVH8%"\\Q@EYKGMQYVW4,EO%]O@EPDX_I
M,5L+KPGNN![1PY1N;9'8WZ8/U@^\S85+:P'.6G-E4.F<S0Q,&V2*Q&5'DX=)
MN%#/=\)7A2(N.\Q">M]NB%6LE.H1\.^^ 1G8FIFC98OPISL(5/CI^.$1-W?)
M<' I.C 8-^[YV%IGMO]6F]_];G@IH])A;0FX&A&N)9X2,78SG8LSY.:<)8S.
M4Y0--US&VB+%^XCVCU.=CLT26TG$^$!*:'UU^H&I<> ^NGUGQ7/8!]=NR#>F
M4CKKQ/T7N/<CPPXW:#@?:O)&0X172??D(6Z.&(R1^9BZDQ]W5[2BJC!Q:S3]
MA6F1D(F+"M%Q.>8U9YB#@-.QK)%91&H==$]RTE$Y7PC((G1%AE'8KLK-Z>S[
M=L"& !@K9H\1<_J$TZ/9U4M&4_R=\ MG(=3XG3$"DR?]1'IBXLG_3"1#86:\
M)7M( '\Z"=I54P%9\+VQ<KPRS_$VH# QK?_RO^;=Y_]RDW?QP6'611AR1MCU
MV?<,HKV73NCSX/V<[,HW=7NIU<C>\RU&RDQA&]#FB!WC3P@1L01?F" /' L!
M0*JY;\VO6>G!(9/<G<-UOJU7$!RB)O<B34R5,WM: C.MM[M[Z;O^^,XC/CE7
M/.I&R.-&W*&^,_BACJX%KWB0C;QH>W0IZ(00[/ 0CHB+9]SWKJOJ&U("Q)0;
M8*[U..80?F;883CN=&]@!_(H][/%X=!9.5V(D*Y8"01_Y+XPC!77PCT#6%]O
M&HZRARBXPNC4-"505IR<D4STKCP_1YZ%61ZXR#I^85SGHIDWNS&Z"I[]LN$N
MK\MR44(46 $E^<%;E/QQ:<KR%T1/(P]A)/85B"L]LP(&=E?M"?C #,CZCO!)
M0A5"\[;F-2D)"!G,0TN9M+_43&RJY'%513>#8;(W& - ;P?%U?=$75^5'*5.
M'ERR5L&;_9X:=(\ T4E)W2R;>U>3FD8!V:M,'S"*$1:JW#&/'SW1=[6/ZCGV
MPHWL#_3UZ-\!'BC80,_3?./[^/LJ>:FFUU*JT@UU.IRSJ*B)_6)!N=XYV>'>
M7"AZ>"],R'&>@XV$G6CS2'Q.6MGPC4?OG0XTBP\.F5?8CHM$RNV0$2U^.SQS
M-M2L]V#,7(/730C-='>,\= >[1 Q#J[&!&UI!Y#I6'19H)/@#)/'>L!"W(B%
M>/: A7C 0MS5\.)? :$2=EX3LH<5@;4LI:FBV>S;?4]5T<MV=:F%+"\MH'[C
M;;2+BP$O0:H+<&[/9JJ0UJN7H-$^&OT^3X].E,3B/-B9G9O")(K+SC'\4#I2
MJ9#+@Z[0=.F>E:\AFQ95:A6"@4:;KMU0QHAU*8(;42[>G'?MGJJ=B^!<;R15
M3]$JJ71N0/ K&JS&XK S6CVFE*M7PD2N>,AV3O%,55\JCI;*A$0SG1([AL-J
MOX&/H"J_U%RK>-ZQK!WT.#A64,8VJ.RNB/?MHKV*]%P8L#A&(C^N#"I1LDW9
MTHI$':[CM<S#H!GR@MAE2B>D*(UC4*" JDD3 @MEF1. J(X2]9N=X_A?L,$J
MW-NCK!B5^^JY^Q>S(<"58M%5TE%ISM%L:*HO*DRC7SN=_>IVO%M,Q2Q& F6%
MQ"7JFI< R_PC^,&XBS4]13I_\:;P<KSJ"*C-M@?>6URP*N3!>5$,0R3L8&UP
M!IMH[KM0:OF<D.&[61Z9.TD%LUO;<[X6 BVZ#KDL9?W<DZR]&3GW\)]1^EB@
M(1J[+NN*F1.Q$</@MPM95BJ#H 2$C$2252Y+O'([ECE!^KR-/X7I8MJX0I$_
M^S[2SMEM^$F8,A*\B$4R<_1YRA,SS: !JNL-UTI:Y['O,'#<*B.LB:)F$Q9+
MUPJ^6_MJHK<[ET&B/$*[JIDOOFIZVI*LLLA]E=GQL$89W59*@8TGY)A8'Y+_
M=>"4$R5H>E!:AD(MB+3'AMH,1=<GKB)8#V;)5* ,P0:U9U T/5<[;0WU58D)
M"I;,LDK6E-FSWS:!3I2#%,!#T-3(=,I4Q $"2>DQ4YI28QCJ0^*1A*=IBUUE
ME0EPEZ+$,SST;KS*DC8MHKHPXRN1CXE7\$S#6V0O^#:I?NN 5$C:7E4#@R>X
M4E:PY#%2E79T Q-#HX+F]AB07D[( 44 3_PD14#&%6JJ__W)S<[PV=FS3S(.
M5/!>%B?!(2*\_5^17.FNOS[H5<&]^1 *!PC77N[J]>Q+:CY!1F^Z:)"++W>8
M$XM92>CVA.:YW/;U7_6'K\GJK,KKOS8;W!Y?&@P1179H5@P&6&Z"^_&?)>C[
MZJO39T^?4-RWZ\)_*[TQ__71Z1G]Z?-=-?[;V>E77WTY^=?#WWPT^;>_G'[Y
M[(MWNNKA.YZ=_>6]/^NS+T^_?/3DJ,M^CM'E$0YS2,OA?W_RY),8N5>4Q?OK
MX^W;V5FZDE?U<C2-/(/O>W$_NRE"0'Z D9S\O[:NY?7ORIN-=BW>3'8K:I5_
M!VC\KK[?QS9SW]8A_FNLZO)MNX!"0?*21^[ 1_2NGQP<&+').':VE.=<-=6,
MWO'K6PY9N,(?'^9CP,Z";;K%$OCC!^4=J7)_K^3?HV,3D8GG4K-!^?I/?T#)
M3I9??D'H>WFLLT=GIQ>[L&-?<6&+-L]SE6U!4&#X!Y9L0PXA^-N$YY]]H4C^
M.8LO:I7F957._KW<U$;7I?ACVHZC+.==.1J/W%:_KX7]\\S%D[-;F8L/_GW^
MB'EZL&"_BP5[$@W8DS,Q8"^L7"L.P(N+IEZ&Z$N)LWYDXBSB"R!,"/+:/^]#
ME'7VI#PY^^+3$CT4_)NGE?QF&R+H_>H<)B_;$?/=6^E&?\[5W;.OGGSA)5E.
M'PS>7340P> ]OD_O\V#P[H?!>SQA\'XR\K&(V'TP>G=X,_TI1N_QZ=G_O$\O
M]&#U[H75>YQS\_I#?A[%GK!#=_EUS:;?^3<9'TI%<BJ=/9O]>OKJ]$5$DYX]
M>?J(3Q4"4X>SR']</_35HR^MF:OLYN6F[D]^?+NJK_5L>OSHT>.'\^C.FF]*
M4+W\^ZOWFZ<\\/8*Q?I@!N E:GNS__?-SS_,7FX(M[ZH+;E]^B[9[8?E_.<N
MYU<O_L_#<J;E_$OYE@7#OB,Y*\#S7RTNZG7YL+[O\OI^\?R'A_4]L;Y?E*N%
M8)UF/S2;-R1D][#:[_)J__:[[Q]6^\1J_[9>-IOF8;'?F\7^P_-O'A;[Q&+_
MH9S7JX=U?B_6^4\_?_>PSB?6^4^,&'^?/LQO&\ /;?E\\?$NG1?H;_BI/)<&
M!T'<?TMM1]]30]6G3.D#!L]^YE<:-R XIA%!8L["?OPLMZ@&K<#2+_?>AOL/
M^.B]VAUG1QX:SQX__N(VY\7O]?;( O_!>X0IH!87=;5?U<J'Q=T!CI:U%1TN
MG^[F9H)'9Y^6GWWZ]#.0N5K3S.S5R;^SHE"$V<U* O$QA>F^0Q=;O]]NF0L6
MK5BD6KZ]9M&F:[MG+P\W@R@Z;T#I*:+LO"\"T]-;(9C$>YL>YP.(2JD3INZ'
MA#P?ZZJ_34'U;KSW<<<!5*[2@EVP_26M,3+_:N&IY@R:0LBV$K5//_N_^[(+
M!TA8J#_7U%;WA]6*N-6OORBCO@^1I(=+PG:%X0KG6(6?S[Y6)72W\9A)N6,2
ME'!->\)G>F^/GM#VV%H)!D4F3H1'A-U1F(F8XE/:/=/;FLCK$N3F_21]L_*I
MIP]Q=5&CRW)=5F2$H'!(S76@\$3[J["@9.>FF#5=!^5W4:C$,VK/>$KFLPHW
MW9-_D)SUII++CY]Q(C]'<Y/KGCJ*5.Z/I G)]JM],-PA7TUSA]RB4^_QF77J
M/3".? #/\KLSCOSQZS??3/GJY;_^_?DOO_[\W:O)O3[N>W3KZ*FMH^-H*">O
M\F'2=F",?G)''I\.Z$9>JS#<+4%\Q?!D(RJKX!M>LZ9)Q6=!QZ<SGUQ]&!5J
MR]Y A&Y>AT-TJ4<D%JU\ +W%>SK,<+W(H7N PWEZ&C[(IME#+:-/3\^^>OK>
M&U$?/SO]RY?/WOMEOSA]]/C=>G$/7?7)T],G3]]_X_#CL].SI\?U^+[_,&3R
MHU^^J^>^;JIJ5?])SOOS[?;[=M6TQ>SE9G'ZKA',1++FJSN7K'G_>9V[L B^
M#7[_7]]_=O_/7=C[\W!PS[[BYL5[]G+?7-^WZ?J\_WSV;V5/XE A5@YA^6\T
M11^ @;AE]_2CVS=0_ZF5P8]BMN[2%IJ R#],S9\_-9\>Z-KZ[/TZ78_O7H7L
MP>FZ+^O\P>FZ4V]$3M?SS6;VNEF%L_R^'A3WQN.Z_U-UES;/?Q#]/<&D2%@/
MN5623-V#PO]A?O[\^7$^5YR8]^-TC<J4DW6%P^6(#Z:Z.?T@R?_.V^HZ_-_%
M;KWZE_\/4$L#!!0    ( &R!"5/_PT";$P\   2F   1    87!P9BTR,#(Q
M,#8S,"YX<V3M76V3HS82_KZ_0N<OEZM:K\%F7FMG4YZ93&ZJYJUFO+?)IY0,
MLJT+1HX$,^/\^FL),+8!&;"]X8*KMI(QJ%_43ZO5+03Z_./[U$6OA O*O(N6
M^<EH(>+9S*'>^*+U=7#3/FW]^.7#A\__:+=_N7R^0]?,#J;$\]$5)]@G#GJC
M_@1]<XCX'8TXFZ)OC/].7W&[_4417;'9G-/QQ$==HVNNW^7GO1,'&[9%VN1L
M9+6MT].S]FGO9-0>GAS9O1/+,AS'^3@^/^J:YLEH.&K;QK +S8SC]NF1@]OD
M9&B-G+/CH3,Z4TS?Q;FP)V2*$73,$^?OXJ(U\?W9>:?S]O;VZ:WWB?%QIVL8
M9N>7^[L7U;05M76I]_M*Z_<A=^/VO8Z\/<2"Q,WQ;#9::2XO,)>R3S:;=F1W
MC>.>$;>6O*B&._6$CSU[P=WQ>=N?SXC(IH';'7E;RC':AMGNFBV$?9_38>"3
M&\:GUV2$ ]>_: 7>'P%VZ8@2!\!UB81OI<'2;1_S,?$?\)2(&;9)@>Y]^8"0
MM#J=SACWD9<B'6$Q5"H+[BLRJ6T/M UQNF,V]I7SR?8""%0?4U0=XOI"_FHG
M/#Z]"Z?5*:Y!(-ICC&<5M%BF##6)KI379LD-S;.SL\Z[]*ML/3(=1;5ORS_;
M9K><V#R/*RX;?K5CNEWHD(RI<CK$=%OJD#F*\CQB$Z7Z+0JJH1@)8G\:L]>.
M0ZCRK W>N-Y<_J'\;U4F]CSF*WIY);HVFU%OQ,(+<$G:[SPVXC,9Q4$J%0(S
M/%7][QQSFS-W@UMW9IS-"/<I$<OA4S&8< +A4P:5=AQ,?G/Q\!-H$C=)"5CU
M!'F[ R3$O4MZ$M-*,"Y: @!P26B;.G=\QDG9C@.)@$BN@/Z_[[^-W;+]!Q([
M</\>W7?(J&SW@81ZM$+O)?4 [B/J7+2N&.1^3W@,VLGK7Y]O\Z=\)38AB+G&
M?!.%OAB07L$_U$[2Q392E$B2?NZL$ZRQ"@1Q'KTOZN]U-X^(HR8:PC7_*$RW
M:MA,LNAB;$FM?3V'>$ ,?PBPI"-SYDOLROGS94*(+[YZ.'"H+Y.OH@@49ZG!
MR%08=0&8%S N68 4,4?+W%'$'H7\T0\+"?\Z8+ED^"?,H7L3XE-0>'=XKK+5
M8RH#1#5,5Z0T'M>% 04;/4(H5SKN:+!NXJU'N&<85C&$$SF(C5 BZ3!^L[&X
M8E/HX03:T%=RZP&(9/> :X7HD;<,XZ@*\BLB42CSX /9\+SXS/Y]PER'</'3
M'P'UY[MW 9T,O0<<&<9Q%0]8EOA/%,H\>$#. ,5B<N.RMST$^PS6>KR/#>.D
MTH@'04A):BC*#]@/.&&CRT!0CPA1%,(4G08?J-U,,ZQRJ+!=)H 2?H0L) HQ
MDP;9_2683C&?0XRC8X^.()7T_+YML\#SJ3=^ F/;4!,71:,@-SU&\M\Z1A%C
M%1H3UBCAC6+F!^S6K+T?# MAV35ZW?1X*XXEU#C17TT*A<4 &."ANVM0(YXZ
M2'N&U=L.TE#( =!UXS\0/\STH>Q[F4!M+Y]U.H$+D]LW(A_($J?_"A7AF#P$
MTR'AP$ZV$M?$Q]3=L2=LJXS.A2SCR-K*A6#*)GY<%H&"2,E&L8J21:PDBK1$
MH9J*NU(4_1"IVB1'O(9R4OA4ICN%_66%1C]Q'YMJ*6L%UF7RAEKZ 7.YCO-*
M2HY4+0_] #NQTBG4,CN5]48<&SD2;CUI#%E^O1 [X%0^^,&><X,I_P]V W)/
ML#2;JL^*XE6*IWXDG9IJR7 %OX0]2O@C$("D!*1$H&49!S@S35\N<:K 69\^
MG?720[,TM$W,HLH@D60K_5<(;=)6(\8%=DE"6S(:[TN\-I!#&$A/J>6]I;V2
M&RUT:H-2;:G5,I_#;*#'MNILOI4,O9.8U@YFBT-*4 *@]6&=T(KA_)E,,:CE
MC:^8YW-L^_=R@9'Z\SUZS'8*Z=U+%FR[<*^,N+.DYD<TG*.%IBA6%<6Z'GRR
M\*3S J855]AU9=O(?M]KPML@6^]I/4L]+=OI;*<4^HB42HHL4>K@4AM@75SL
M"T%\$=URF/<L23F,TTLLZ#X=JZ0&>O>R+/5P;FOW2NY\1*%><0L',0\M5$-*
MMT9ZV16>41^[]$_BO+"1_X8YY#*OQ&4S:<0K)GR/^(4?TQ9BIJVHS2,S/8DM
M\44Q8[3$&4G6'Q$P/R"W:NQR-709EMKBV3SNI<NAXB@VL6HN9/NE1G+K4> 3
MGC0N%=MW)4X?R$\LXW0+-UAM'*N04!T"=@YP56O?:LSU/G!J&6=;^4"SJ]UM
M!^I-(!\D]*>,^_1/U9>?WF=RF]-W#A@;]=![T9EE&GN,)*%V:%D]%.G72*^[
M!<V],85).,R;2R2!6:3:E*]KF%G59,PERMR;EMYEF+'L Y$\!MK4K6OVLA8I
ML]!H8IJ68=5D3>5&RB%W,%4YZ^U*E][;B=$&TZY<BBX(\>H:32BYK42G*0Z1
ML@12NYJ7]R9?[T(]R\QX.KJU"WT\S,1K_M6W;1X0YZ?IS&5S0B)3%'://'+]
MC S)5FH!+N*$8E8Q*DW:OI!CS7(3LYZ)?G(^ZJ57QW*!:>+\G&/<DD%U Q=]
M:#RVS-3:EP:C0TR+;5%UU:(H.SUL)Y:9RGOS86OZLL0=P25FH:BU?M(Y-=.+
MA2%AX^Q:;D)9H='/'V>]=*D=DC=QL@A[7C7LY%!KHPS4UF9J H\ .(04:8:D
M>)&K=,P+W^]4]ZH52&79ZO$S+3-O *W6.8D8^4LU:70=$QI)_?>9N/+-VK#B
MPYYS1_&0NE6VOI1CJD=6/J[*13;$+Y(1+W?(S0=+8AH,:S*Z[H'U-)BJRT]X
MKG9B?/4<PL.&6X[=@MSU0/<L,R?/6!O"D;0(_%@>4@(7L^8!\X*H_&;N%W7@
M?\!]K[C#E#:EX290"'URXR?UQL0K\\ZRCH6V.@#P,AXC)]Q4,%[A=P#&+C^A
M%N"D'V1'EED.ID:.)/5JZS.9!=R>R*#&V9CC:>$W@[.I]>/GV$P_0 ]?QTTX
MH8A5XY$H^ZJVEHE^P)Q8W<*X-'.LR"\L78(5U)82J)^4/H6AR:;6CY53,_U\
M5#%J*TYHF57CD2CY?0L=#^W:5>^LEWXHE8=*$U>SLDVKKC[.Y)]]VZ>OY5]O
M*LU7&_ LP^H6'ESQ+10*0K&D0R!<F.B9")]36WT/#>Y_!7%BIT 7$:!'W+2Z
MZ>]$Y2.>"(S 5R(/V!>#9F^8%\-:;@W9'NL#Q#E(]-\P=_:"\2IG/<@]@'D;
MD$-9C40Y_!C2 +^7V<B9D&CS5HBT69NRU->7%'DS[5QZ0UV*4C\:CJQNQFO7
MB=4;Z>?/Y)5X <&>\^A/"+_U1HQ/2U5N&@[Z47!LIO??1,S4\I-BAY;X'6 I
M7<9MY*,MY:R37GJKAQ:B)M9S^38N&=$V,]('N%.KFWKFO0&MOW?$^]Q9/?@I
M_+UR.)0\&BHZ$4Z!*5'Y[8EP92-Y_L0BK[XG\H.'+82'0GU(XZ+E\X"TU,E6
M%RTMB4==]9V.F$2=A'<^(YPR9Z .JG$"'@5=$0S51^7DKY\Y"V87K; Y]<FT
MA<)S;19'XYT[3'[@XQ;N24;)$5BI/H%7S)C KN()TYX;R!,.I:^H5?X C!D?
MCZ".*/3&T9M8?>>_0?A"_W+?1]@5B\[OA'<9(X7WAN'Y'7"##*E?T'3AE2GS
MP//YO(#A,I']F6,/\F3J=0WSK()G9-+7P4T /2Z?G%Z3\/^W7@2=-XZW$N8X
M00'*ND*LUO&'ZX57GP-(8Q)]\R=I$SUH5L41@&O#WX^COCVA$&JGX0]Y:Z .
MDEQ"_Y[(ZBK7?M]7B<U0A(<<%K5YXFJS4)L"9N_+T[\&$T[(KP3S)T!:/Y+R
MV]=AY*C9]87P5VJ3#9-%9M,Z]"%S#=%S*LR'53C5P0+Q_A(YF/)?_QB0=__2
M!?WS1W-9/GOLO!]+V6V:D/&F^2XRA$RV)<)577*#6T^&J^JYP2I]O<:&YOL!
MI<='"5XU&2-W1 A"5K.; ?'D=]]=E[U)-.4$-7ACN=TOPZ*FOK]5OA)[?;C:
MC<7DDGF!B!I%^<Q^,J5BDO?H:<7SHZ).(C.BK3TM9%)77RL2+7+?E-YE2"HL
MI":QZBD\AG<>[W^?0Q(&7A]@UY_?>@)4 /2>Y&*331TY3%2.!MF;_&43=60M
M'I,[.J7Y W*W0NI:)0Z(/?&8R\9S_:2>;E>'R3OK(Y']G(]$)BN(FT?-UGQK
M,E!V47[_565_[2M]Y0E/;B"*U<>YS>LPD)9C_^-H=6)]EH?D/(Z^BNCC';FH
MEV-2UXA8,+=X]+9.3Q2+FB8G65U8S(0#=DF>,'7Z(T@B9$]N6,!+66,3J^I6
ML3EQ]F<631*5D3YM*I@J<JNIRUQC'\MXK@^#ZZWJ$/VRUO7" \!NA0B(\T @
M=(47;A@?X/=OU)_(<W?!G?/#X99<=VZ8\(H(-=ALE/OYU48P5]O4 <H"H3<\
M/L A_'%T [D;=N7 VB:6YS"LZS MOFKY3'P@A3^>E-*[6 A-L=R3F\=$NZHF
MKPGT$ ;POXGKR'$ZF%!(5C&0]<45<^6KV1R[,([C[&Z[NK*"N)JZVQ7CY(6Y
MBNN&##FS:1V"B@K2J3VLR^7,Y3QIDUG.K"_*/7JW<O,'=L,2)]]=OHOL6JP,
MZK(AQU$[900$EX!#AG<9^ _,_Q5J0\@=*^57&SAN49WL-P/59M,JI;B2_?'\
M)YE 2O6JI.69C/X^2;FN>*O(K:;A=^/#.&/+AWE&G0)U>KM._(0Z^GK*TA=3
M'E@X\C7/9*JRJ^O21E9%HI:E4F7)-C5.08ZUC; 5JG+MPZK*_&H:4O*_ZRN[
M('UAN5O%UHBVXEE3.ZU.K4^<S""SB'?*]*/]T-$<NV%EM0JKFEIEX\[1TRUW
MGI[6:4*2LP)DWX]<UF[1CZ4CMI.MP@-V!<DH=4BL48XG5&=8VWBK8$Q]P.(A
MD"@^CJXIA_'/N!BP?N!/&(<XFC36U$W;<=W3L@0%-QT37N2)3'P.IBSR5\X$
MOL?O\@M1\=F7 7;CTR_SG\Q48O;7+\U<DQG@1*/7168ND7]@SUF=-Z/UIN6+
MZNOSX+SJ.%.AB:P[E%#7K*]<_K%8S&1%5D=WPKNN,Q5$6$_NZ A?[A$3.MOT
MOHR&H@ZST5;%T*Y*G[]FC6#S"RLPZ'>0?:RS^:ZPJU?!A#V!8?;EP_\ 4$L#
M!!0    ( &R!"5/=5HY9BR$  'E7 0 5    87!P9BTR,#(Q,#8S,%]C86PN
M>&ULY7U9DULWDNY[_PI=S>NDA7UQM'M"UC+C"-ER2'+WW"<&EH3$,(O4)5E:
MYM??!%G[R@5@G?*$'54J%HOG _)#;D F_OX?WXXF3[[@?#&>37]ZRG]@3Y_@
M-,WR>/KQIZ=_?'@-[NE__.-O?_O[_P'X[Y_?O7GR<I:.CW"Z?/)BCF&)^<G7
M\?+3DW]E7/SYI,QG1T_^-9O_.?X2 /ZQ^J,7L\_?Y^./GY9/!!/\ZF_G/TJ;
M TL* 7U1H)SSX*0M$*U.TBK%<L[__O%'+3BW)19(+ IZ&S/@= Z -JJ2O8FY
M^-6'3L;3/W^L7V)8X!,:W'2Q^O&GIY^6R\\_/GOV]>O7'[[%^>2'V?SC,\&8
M?';Z[J<G;_]V[?U?Y>K=W'O_;/7;L[<NQC>]D3Z6/_OO7]^\3Y_P*,!XNEB&
M::H/6(Q_7*Q>?#-+8;F:\WMQ/;GU'?4G.'T;U)> "Y#\AV^+_/0??WOR9#T=
M\]D$WV%Y4K__\>Z72X\,GS^7V60\^R'-CI[5-SQ[,9MFG"XPTS\6]*M<Q?QS
MF-01O/^$N%S\,0W'>4ROTH!6#UA^_XP_/5V,CSY/\/2U3W,L/SVM'P]5\LQ(
M5F']VS8?_^Q\#"E,TO%D-65OZ.>3AU3 O8:#WY9(?[J>R%,8DUFZ]*9)%>-L
M?OJ7DQ!QLGIU=+R CR%\'KT9ASB>C)=C7+PXGL]IZ8R4)\K&F$ Q&4%Y%L$I
M%% "$UYDGB.&R]-81[B@(:[$7\(BKCAP\HAG=7Z?X62Y.'UE->/ ^ D5_NUV
M+.LIWGUT-*G+>4C+?Y$6>'&\6,Z.<'[ZE.^GXV7%HTL%067N02F+X'Q2H'/)
MVA6IM7!=QKL)NLLS<(%FS^?IR6R><4YJ\>F3KUB5V(F&7$,-\W2-?Y?7Y\D[
MGBV.CXY6GPE$LZ/3OZ_JLBE7EK/.PEFS@D:U+VV>IS0_QGS#>+GG$D-&,#P0
M)D.*W@>C@-$_>?'%:ZF[<.562)L01#Q.@K010S-6? C?</%[^![B!$^!H D2
M&4\04! 07QA$KB58;SB-S,4051<^W !F$R;(Q\F$?:>^&0?>+C^=*ZD+@V,R
M2,T)1Q$$0=GH"4PT8(0N!">@MWWTPBV -N&">IQ<:"&"9GQX13[E[#N2_SJI
MCML-L$K4*B+)CC/.:;P1(;"0(02'7AB=G15=F'$OM$TXHA\G1]J*I:5?,3N>
M+J]JLIQ+LBD80(WDXZ0@P+.4P!2IO,R!*Q%[.14WX-F$%^9Q\J*! )J1X<+0
MGD_S^^4L_?EI-J'97;SZ?\?D 8]0.2%D"& # 5(J< B)K)S$J(FJ/*2(76AQ
M'[*&(Q\E7A)7R@$W=1W*G"$Z<NQ<B,$S5$)GWWN0 XVQ]F?%5?KO.O'-./]B
M=G0T7M8$71U=#0#'TX\X3140HC$R<0DQ,@U*&$F>'2N0A!%9BB"YZ&,H[P U
MT."J/3-:":894VX8GRA!. KL $7-!VA$\%8:R*Z4G)(0RO$N!+E/ PXFU&K/
MBSW%T),.L<24+1. S!3R][4")XH!3W&A]REKQ?.#T&$'OS#G<95TF/P>QOF7
MZ8OP>;P,DY%43"CN%3!GZLJ3#H+-'BRC\#9FQICIDXF]!="0#.6>C+CF&380
M0<LXX?CH>!6ZK*)=TLZ?Y_@)IXOQ%_QEFF9'^&:V6/R&R[?E0_@VTEP6+X(&
MIIVC%4YP8S(,/ 8MG!<LNSY+84N@0S*GK?G3463->/4.EV$\Q?PJS*=DWQ<7
M0+_$,DYCBJX,6IY<(ER%0B&M/<U!U!1=.4814BPT$5VH=#^V(1G=QNQI+)AF
MA/F=)(P4(Z_=BG^&R3&.*#! )U2JF]L,E#&6['\I4)QE2<7$LNCCAMT 9DAI
MSL:4V'?JVVU[S#$LCN??+^!PPI':X@$BYXEP(*__RI""2EFYDK,L?78]KF'9
M,HD)CXD">\Y\TZA]-KV (AO/R15"R)&34V0Y111!9L"<C-&:LZQMMU#](I(A
MI2H;"W^O26_GB2X6N#Q+O6KF&2)*T*5NL3 O("*%?I(ACT)*Q5F?DQ*78.Q-
MY[#X5),<]*W*Z4N8K-(>RQ=A/O].UG<]W:13G=8F@DZ1[&VQ"H(G!\UPPTFN
M$5.O4R&;P!M2)+8[1ZYQOKEDVBV$+V$\J7L&KV?S]X3K/:;C^2KI\A+C\ORG
MTVEPCA$8)%2%*: (TD$LKD#(,A6TI,=5GX,!6P(=4DC6CD@]I=5\-_ =)B2N
M$UJ*#L^VI(SVREL!6:$E=S\1(J4*&,6$-RECLGWV1>Y"-:0(K"%96LFA9=CU
M.8SSJV^?Z]%0THBKE,+E$:,//B;40!2-H+*SX'0RH+.UQD5M<^BS:;P!N"&%
M9>UXTEHJ/7:21S2,:!UZ"*QN91>2GXN1 #A$XUAAJ ^\G]KD3#+%PA8-LR P
MT;!B$N "V7P= @W7,BE%'W.ZV[&9!]@MWDKR=VP,[S+C[8[7?<9YJ%N/;RCR
MQ;/#P+_-INET 1OIN<L.,%A:8"%G\$%R()^/E:!L4K:/VKL7VI \J5:\:"N/
MPYVZ(^5\ 6.* 0MG'H3@2%3F$5QQ IC3:'WQJJ@^VVC;X1R2=]6*0!TEU8Q-
M+T\2K>M=F@_AVP64Y F.N$N^*&8@E.C(!2P1@LP(/#)&<4,* OMD NX!-B0O
MJQ5?6LJB<1)LY+TN0D8+%D,&9;RB^#!'*(Y)7;C/-G?:95T]OVTJ+UI2SC9$
ML!H3"2D+")S7+YX'&ILOSAPZE3>$--964KX62>X\Q0?/4UU0NH7;HFHJ38;"
M*6;)'+S,"823I'=95"%U.GZ\-=8A^5@M^-)76 WS$3-R!)???Y^$E<6NR=G/
M];!@5<G"2B]]H4 Z595<C\G0T#T8)YRE")AEUN>8\EVHAN1+-2!*,P&TVQ-<
MGX\:_T^M7#[Z?+S$^?M967X-\YH]&S&O4M84,WJ=-2ANR0=P)H#Q+&0M;;"V
MSS&2NW$-R65J0(N&0FA&C/^<S?+7\60R$CEA)&\-LC 4&6I%3ILB?TU8U"DF
M2[_LXRZ=(AA2?5,#8>\TL<W$^LMT&:8?QV2KUD,A?KWZEB;'M1/'&3(>7)$R
M2\@8R.-!5\ [Z8#SD)S+@9/3TT7DFZ ;TEF!!G1H+I"V-;(GH,X=%^:(FXH&
M1]X+C35F1E$ADM'R1AKM8C&^CSJX$<XF9+"/APS[3WFG%.Z[.G]ORQ^+-4M'
MDOLDC91 03N"$AC %<5!:\,P20KC4Q^_X$Y8F[#!/2(V-!-!OQS;F=(:255$
MT%*!,W&%QT+4AMS70)$._9(;UX<2MV/:A _^\?"AT>1?(</?GUV=G3?T<].V
M3N^7]'55E#8K)Z2FW[;O[W3?<[HU>MIJ@(TZ/I'8S^L11EG3>N<V@PZBQ@C.
M04 *&3C&$D4(675J7'$)QO[>Z>DGO:8%M"Y?/"8%>#ZG/V.9S?%L!>#BU;?E
M/-!:'D_#_/LO)(65Y:PMB683>LQ'\J]PCHOER$8E%(H:195ZZ)HB:U?(E*JD
M*>Y6I$LUZ^34=AO4D/*NN_/QNDL\#!8T#+I.@)Z<.?D9IUC&RY%G/'@I"C"5
M%+GUA< $:6MT7YPT.7K6Y_SU+8"V3,OV/83?FD_[37_#0_B+56WV"9;%J%B9
MLK0.DM8!E#6F]C]B$$-B+":.Q?6JE[^,I,7(WI8:LZX*F''^99QP\7XVR:.0
MI.,V^"JSZIZ( %ZF ID'&3%XGCK5^-Z.:4BJ<R].7"\X:"*&=B7?N-+ A.77
M,/\3:SQS,LY1/9,K464H3#M0LCB(T1I@@AE1HD?A^FPYW(YI2#M336G12 P-
M:U@72!]3ZP1>XA><S%;[(*>0T)4DK"=U;[,EXRR0.$NQ;G)HL]8J*MNG./%.
M6$/:C6I*CG;":+?_0$9Z'B:$Z'D^&D_'BV7U_;[@&2AFO/040R=5NYEP+R%Z
ME2#:8K7..A#./ML2=P,;TM944XZT%$C#?-3G.:;Q:C+HWQ-<S31!/)K-E^/_
M6;T^HF'&E+4'7SR9/2DSA&@B%+* TKE2N.I#E4W0#6EWJRE?FHNF?6K[0GS!
M,K<Q.P\VK*)!J6FD7@'JI$L.ABO5:5OC.ICF(4:B>":)F"&+0@J<?$ (N9"!
M+S&$@-RZT&<_[^X0XUZGNV^ N2\-;G*\=Y[VAG[5%YP>XVGFY&IC[K.]Q9H[
MIO]S;6*BN [H J=EODY*TZB%SB"BDM%@SJ53'F('L$-RT%LSJ+?L&B>T^F3H
M= Y%>^/ 1*YH0!8A)E3@T'FG2M%!]CI\<* \;1N+Q6E2A+ 1<I8>5 X.'#E:
M4(O3+(D].M,G1+K78CUL,F4HW+QU-W='&;8]UT$#G%T&=.K'F^!UC$5#6&4#
M JO.F>'$ABB=XB)Y)OL=\+@5UY#T_F IUDZR+0^<K09V"4K=LK:HK;:F]D'!
M2-Y1I-A"Y !"9BZ,\T%U*@6]#=&0LCM#95@3:3[L 80;.OKU/8EPYP,/<B1A
M\R$W.IMPPP//.B8644G&:T&RJ\W?.>DCR2GD3]ZE;)A!T2?I?P>H?97<Y;U*
M+SF3R1D0(05:"T6"1R3:A. ]83-8^N2;[CB+\= ;7&WX<%4=[3[O;;VI&Q?8
M'-='^O]K-ED=Y@WC:87Y=GI>$/1\/E[0KU[2C]./O^-\/,MG\T*FV?GD2#EG
M$K82DI&U3A17)LU43%%KT2<.ZC6B(7EPO0@Y"#8\L'T-BT^O)[.OG<_WW?"8
MP]C2>X;7RH+28Z[T3WM'?M=\G.B))_W5+K]PX9UK[A#S:N-)?(GK[_3S.GWT
MZEOZ%*8?\1V-ZE4IF)8CM-%8DPO8[ LHK@TX7@0$HU 5883OI&P..\X&=KY"
M^'T^^S(F&?_\_8]%/8Y[%MH_3\OQEY-[.5C)*<H 5@D*MJ)'<(Y6+1?"R,(<
M#[)/&+TYQD%Y",/E^PU.1P\2-/-(;L'WR_0+S=]E?-[*K")Y3(6[#"JY  %U
M N:C)\LB) ]]6F)LCG%07L.C)^F^).A-TM?C:9BFR_C0EBAE]<>\UZ"TLQ!Y
M(7\,I= Q2\9%G\*2S3$.*77T^$FZ+PD>0I.RHI74R4*1CO"AB!!$J=>-Q!"T
MERG:/M4%NVK2[6?C]_!]Y0-_F#U/Q)@YWMK-8.294A%+[3(G0FV94AN=8P!&
MT8HKZ%SHM#>U.<9!'47H1+1K[2?Z2+!=?Y(S?">G$$^[((R$-444DX P$)S(
M&(0863UA%KWTT076QP;<"FEHM1*'Y<\^\NE EQ,ZW]V'9Q0-M\JE"";65IA6
MI'H]*$F=O!T,];!SI^L.M@2ZI3?Q%Z-6>UFV[)^4$/-J3ZYB>EON01GJZ7E#
M 1]%>J5>=)LA)N[ >1YCR*;C'3O;(1W2J>5#,:ZG,+M0[M>P/,&S:F']_>R:
MSS"9+.Z"/[+><>&U X&AKI;:>-$X11$?]QBB4#GTZ1+8!/Z0CD@_ #D/(_:&
M'<7VB#]'WA?!?6(@5(WSDB?(Y&^"#,98)A)%>IVJ(?>!?9BK;#+3)+W:GID4
M3KWK7D.T9/UX25+JP@3&/BGE1W>5S>$XN-O5-]M(LF7%W>49N#IN1NJ _BN
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
M,_Q??UJ1"!FW_]R]K,DXTSJ(F;Z8T:]R+1OU'$:U(M*[CXCSV1]C.,_#.:X
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
MC]AF,]@*YG>UZYG*!D&R16YIC0+ :'D:?)%&/J?)$4E0<83O)XN?/:\WBM_
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
M,-2HI%&*.]TF&GNR1_]=U*<GHH[OZ/_JAQ?-"Y:_RHM.8^?3*8E[<6UR3PD
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
M6YS-I\,TQ[SX_1_TGMFS-!]^)@>MPYG([B_KX:BDIY&NWIUPV18;B@.(&G(
MP74I(&/PP>KL!KN_]N"55*U1CIPQSI(!R;2Q-!DR!J8R38'(E2JB36K.X2NI
M[HS@E_\Z'RXB%^0V+H[-%FO!^X\P?KW(YZGE&S\3^9C?3D8U9%'_TB"IZ+FM
MYZ%FT6& MHB8G6<>O=8E@,5&Y5'V.\Y'6<)SFUEPJUSB\:I1 TMC#Z/]_7S9
MD(4K:X-B*B&95"XI!F1*,0R!AE@T1MTF*7EO0WQ$4V4/NKK_:;6#HK6HL-ML
MH'^G1\QG+\=O<#J<Y &9+R8$SVN5Z<!TYI*!UC5)1W&1#%I0;2+3^QKA]_ET
MD/G40<T:-.QL-\Y_7_!Q-4[!18[T#_->:!JG$0P<&%:\E4Y+[03&1S:=;H[P
M^W0ZR'3JH&8-3CG;C9-8*#B\/E294U Z& 8\T%"E$BP('5G(+@HL)FC>J$+\
M_@;Y?5(=9%)U4[8&]^WV9][F# C>J'I#33#-DR;SEM:3>F_-QB#!PZ.-.ZSS
MHXZ2BY5F60N3Z6>8XZ\PG/X[C,[Q^A021:6H2:#<@64:,S%F);+L7.;<\L3%
M8S/4=Q+$(UHK'TTHJ9DB/BK/>'-QU#,B]$HZ9H.M1\E%LB S,A3"T@X79<R/
MS2C9?/2/: 8>PQ0XPNF\E?X^JCE\,^SPL""*5A(*)":AEK)39/4!ELPP*A&X
M#H'SQ[:K;BF"[[/Y.&=S2TU^Q!&VAP6!WB07M6.&5X?3TP('*43FLJ35+M*R
M%XZL#6C?(O@^I8]S2K?4Y,<8Y3N?XNQA*62;0;L8&"BO:&$KC@$Y32RHK#V4
M'*W9J$[O$<WG;<;_?3(?YV1NIL./,Z[XL R\\LD7$Y@+"IBV!EB$:!EDH[T,
M4)1MT^/F&$9_/!UWN3=&<9.9=C(P+3BR2,X@XS8+@!)XT(T\GB?8<;=3W.\@
ME!_+Q;@+^/3AQ=6-C%*Z:#7CJG8NYM*S*)QFB,%A*3H%W2;>=@/&X^^YNY4F
M3/IBY! 1I#L%\6T8X[S2_'*3,36]9-=B5(>YGM=!6;:UX/;%]&/18B&,!I"*
M227(7 :16"@\T "ML$%@"*I-'9?'H[T/W" \<N7=AN"^B\NOO;ZR*(-4)M.S
MQ96JJY]?UGW#&!-FS\#[Q'3R@GD#GA6+7 8I+;J5F^QW5-/8_MU'Z#LW)WRR
M/[;V4Z5O\WM4>[F@=I"+:9M<2"N\A*QX$2IJC19#Y*:DE$IPP7MKMKB0=C07
MT;SVQ1E%9-G:-T&;R *G5=B8X+7U.5IW9.?LKX[_(MI*:C9X)T#*PI+D)&.H
MO2DDB5Q+R<DY,,7DQQ:7>;0W ';3_(-E]6^C.L=T[6SQ1SV-&8X_7 Q%#+)+
M(G*2-28#3&>K6%"<DVN,28B04.8CRP18,XKOJKXO%>C;L%Z@C/<9CO'KM\]<
M'\FR.N3KLHSS3#_@_)J%]QO6[7T0 F#D(=90#Z>QI<2@WL<![9VW"8/&L)$5
MWACHD]'@HV.][^*,G<9V.8X+7F#V\?ED?#Y;?F@Y]H&-6#@(8+EH16)'R4(L
MEHF@8B3S5^;5&FDM='H3J-^U^G#,/ZK,B)5[7DE8':W5++AZ;5+I>N.KR$7)
MJI2T23:DXS)*3O<ZX;';YAU4I\>4@]ZVM?1QB)\7'WY@C[-!FU#C5$(+<CW
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
MHRM+6+S2TZ4^)Z4C2P#VZ<?VL8$>_P^/R_*;$)_$TF3XZ0*K=A;O)*0AQ8)
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
M8@JRU(E96X*M%X1+$88L@A&)4HCB.($TD10&-!#*4"8Q1U;I6T:4<6Y,V"L
M[I4&X#>E B"@T5HH9E1J@#YC7%.JF=UI#>I.&V53]SHZ.-".-/KGB78F8SJV
M0UFGX,W6:PPH'4&O)-AH>0,V0Z\5!5I38%0%1E=P6X.MMCK(#_3ZOOQ0.SA3
MO_R03^1M_;)#[^:5/>Z@G'7;'JGKZ?RZQ\7NF>/WR%U-G-'@,-12J?/FZV/1
MNE+6?1GO198D,LT3#'.>,V5&X S2+.8PRT/*4T'B-!6]][BE#\38,@]P+A_;
M :N5'##]CBR7@O\@GV4G&)2D??RQMW2#F,5X_FX2"1Q+%6"NK'8TU_O&5O<9
M) =P':9YQ/U;2_W[".EW'01OT?K.';L[V+_N;,*?BIJ1I0Z9^DE]H@S;)&,H
M2[7G!#<EZ2C,:8Z@T,4^ LD0"ZVJ%YWI8W8[T$Y,T,K9!@ :2>V][4_!>9[-
M/8$T,O\.P,?)]?X" H/<[T^U.9D+_@6E=MWP+WUUX,UP>VSV8[E:U]O* G'
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
M7'W[M:@76:C6)"H"R")=SCY* EU9B:A5B<8\9VI#25RK84P@]MS6J%X!8#0
M[]57P:]:4,<\%Q,-NMUR-+^A''EQ&C"*0ZIV3 BJ[X(?4X@^=:V0"8?C2)F1
M*7L?R07C9-W>MGBOZE6G"5&JZ0G5G?Y'(>*1B&*(".40!=J; D4<$ADBE@1Y
MF(9.<3!C"#FW1::MJZU%=;R>&74D/3DVC#P^(Z\<+D/CWRG@"NRFO=\?(NB\
MKNJO@-KYUOV:OH91_4_%JFC$.[4%XOLY5WY:&S>_G;PL;]HT0YOL:HPE*$LR
M 2F5B4[JJW[B'$$69[&(2)"BW.I&W8<P<Z/N5A=HE#E,-F3BATT0W#8I4:?0
MS;-TU]V9Z+?!>?2N&F [II]JV$9F]!<8,>>%P0?47A> JP2:E.A]0+=/Z%[:
M'!B<;GK94C&6FFUC-42)A"C..,RB,(:"II$( AQED5->B^?-SXU<+V1LLP',
MCMJ&PS"V^=FEHQJ!8X[K[#<D^GD7T\8V'U7O($CY^+<&[J?9O>!K[6ET^@Y3
M!_JM6+$L#%=\T=_Y(KXV/RK1_['@:K><)SR' 0U#B'",(24IAAD-\BP+8X)D
M[+1WOE*@N?%!KX]V-#CT*]BY>'+</5\[;I8[Y0E'8V1:LAX(\%PA\*M1"6B=
M@%'*YV[:$[Y^=\[7"C7M+MD3A <[8E_M#KUQV_C]O5J2NBYD(?B/W_K [#59
M]M:\=EK?F]QQG$F4:$,K5L.+<IQ#@C("21(&0D2)S)E5;+0/8>9&R$?F_HYZ
M-SIXYY/0QQ?ZDG^3ZZ#7S_4&[8I!M+T7FV9H1F;G'37 5@\]&#N:;#>P)N9I
M3&+V :OG^ZXK!)KX%NMZZ [OICRT.>^@WP7">8*HX#K]&H$HE1',B:9O&209
M#E.11%9E!J<6?&X$OQNR.VU!6]<1#^.$Y3'", D)A4@P!DD01U!DA"-!HI10
MZN9</\<QG\;_ODO3=]<-OAK[1R/I[^ U\'1I^0)#._:6[<6"K7]_0=0O<X?J
M2_AYW:MZ'I*7BG#V=C3XJ7,][7U.]S8J*!9J_K(,9F&80/4;ASGF"4S22#6<
MY)@%<M@1X/F.YV9X[)XPZ7,"73Q4QX?<F'"CH<%@UL/@>J+G#]P)3^YZH7?=
M[R<ZH;/#:Z23N N=O]")FQTDIT_6+)\?D%;P%7DLFK;Q-F6KJ#Z7LOE-9VGM
M/!FUMZ(NW,%_7#?OR^8_1/.1%'P1<)32*$2*S1#19V<II"G/(&<\03%A.0JM
MRD%?)\;<N&VCR"9S<MWI ;AX$LORT5A=NDJ'-J.ZC,MJBI*NGG)7!ZP-O=Q\
MV"<G[/_JD 9O^ B?)\KIQFUDVMS1 ?1*@%X+L%'C!O2* *4)4*H I0O0RDPR
M&@Y9"2<9E8G2$HXX.FZ)":\&]6QFPN&M3Y>:\&H$GN4FO+ZU8>;ZSV7)?RN6
MR]O5@<//UF-_:RU&.)4B%Q0B$F004?4?2C,&41:E(1*91#AU,=K=NI_;\G;$
MIVYUIHJ*CP&P,]?'@W7DU:<7W*SW!_""K?#*>A_#;A\&G%?KW5&$26WX8?#L
M6_(#6QF:HZA+XO^Y48VUB2P3$2613'2>(8H@$C2!&6**RF*JS/2,<"Z<W+R/
M]#$WJMJ("&HMXPWX'\&?@B (P2.IP).6^ 9$R8WZJ#OV!F3=W)>5L33T9%R5
M_1^*NEYW'Y;KIE8#:"+;B<F*\O^N5^*?_QBFP5_B0+6H7G'SQ=>"F0*'W9]"
M\Z? -;_-X4C:T>&5XS,RYVV'YG,[-']KA^.MP=EG#IF3*'C."'/8S\3Y74XJ
M>IBMY?17)[[X[0YC/VRGU/NUJ3^;9DF<X5!"%G)E:;&(0\IB J.8Y&&<I#*4
MR:*]MOK<D*H9^<[OE)PN,VI?VO$F5R?M+E/IO!MWQ<IXZM V7/4%KOM.#K>@
M+,U)G$.A5B*($F5LYP@+B-(HE#PA.(_C;KC?K/CO9K![62<>:M$N3C,<YY'O
M;WV,W/PO:C=7L1]V![W5= :WL9<&81[7KB>E_'W<KUX"V=M%ZL6.W"P&+HI%
MFXSUEG,UK^I7ZL</U9?RM]4"X32(" ]A:'RYU%(/"8G5KXPRF;-(1I'5=<*9
M/N:V0VG%!)V<-T!+JLNO:%GMN/H<H.?9UA-,(_/E((2LR<X"@R-T50OVI[OR
MZ0?U=,M4Z@=#4(::SK4Y";E8*-73@\U7AVT)/HF&%"O!^\*/?S5;X44>(!J'
M/($$"UV#D:0PHUD" T;5?.<9X;%3_I#CW<QMFO=2;FJH_O#=+6/KA_62: ^\
MUT(6K&@<K;,3"-N96-?C-O*\/X ,_-K*Z/'@\SP(7NV4$UU-:FR<5W??8KCP
M[<')\2JA3(S7HOWW[<HDB2UX7P.\#Z]><>.PU1Z0+C)*4<AP I.(Z!I. 894
MRAS*E,HX#01/$[)8B3L]F[XXY;P;((W5),G;27(@TZ@G:EKTY]X#I7'@-#=H
M:O] !@1<#QPQ.Q8:<0"FBL5I!0??]2I\;SQCN['HQ#=#T?K27HAY'Y*6[@H$
M?:>9&R+*U&GCKH#K2!JX:UH;6O3ZX:%H-EFU3>JX.[%BA3AZ=XI0(M,PHS#G
M4@?(<*0V58Q!+%*>Y2(B29JX%;UVZ7YNAMB.]&UB^UWY72M=.XV#'2&.A^[(
M1'@6V/&OL(?AYKG2M9,($U>Z'@+/8:7K0:U<G6U#]<.+Y;HIGG;BR=]\;1TG
M=<F!UGG(G&A]D+V]^E%4YD3+.,HN(L(3EJ4A# /MJBH3"2E)(H@2D@K!,1;(
M*;..7_'F1I//$D#LZ+>;^J'7L*T>LJ.C?FBS:?NH7?6TGIWGN6OF2[]O@>7U
MPXN-[=AW#R\PK-?D^?"(_EA9/WR(^%(Y0#S">R8CB,]>?!TZW#)6KM4R]DDP
M43P9:F"<B 03#',1J&6!AVJ!4&N"6BK2' 59J/V&O!PQ'/8]TP.%7E!0;22]
M]NC@".Y##PH&POBBQP(;1#]=1M3#2<!IB$;>]Q_I^(5W^:>AN+RG/_/LP!U\
MZ_9N#@=XH1-,GHCWD'D8DYC',) B5Z8J2V 6IP+&28Z8P.I/F9/1:MOQW,S1
MCZJA>U*WA1\?J_)15,TWL\T4_[DNVG"JO4"J=IX]DF\FW/%9()53_)3SF%GN
M\T<8B;%W^*W(8%?F;<0-[2)NOGF+N!D*E=]-O6WGTV[G'2$YV,B[/C_B2>4F
ME2N/&*,LR&&.<@P1IAAFH52_\H2&49)2CMW(SJ7WN3&>_7':P(3B;F/C\?!R
MAEEX?8(]SLGEJ&E\W228W[GEI23 PQKQ'$A_F$&\S9RHFBYEFWA>YYU?X#01
MDK 4DIP2B"(90"IQ!$40DC"E DMA%6OH2Z"Y$:-^ASW%6ML.R7GR>PF@I['T
MCL=;GRJ>L%%*V^@[E10F'BQ/(?(C#-H<@N6]#9Z_N'E'I ='T-OV,X]8>D=4
MK*/J7=L=9OB_Z7*5?!;54Z'KXAWU/5^:M\:<^NKDT'<K+7&;CNN5SHVRHX>2
M6^WG%RD/9"Y39<%@*B%*XPP2)#",F-HD<)0CF5LYB(\LY]S63!/FUX62L-V0
M$[;#%;*LCN:I<=M6C#7R=AN0&8SGV#=XQZ*"MD$<AM^5Q&!'!W];E9'A];JI
M&4O62;<_(P.^OU$:N[NA@02U6I'8_>LM)YEMW/.5[9C+%19!&C <0LRXSAF<
MJ>6"JU<E8S)((I(FJ7!:+@9+,K<%8==&W.11VM$*Z($<D-9E^%#9\?LD S R
M@_<ZW.P"?M.=.^WGMAK=;^YJ1#T'20R59N(XBBM!.PRUN+;!H4&8;U>J \*T
M<\9KTI!7;:# (I=!))#((<D3#E$>13"7+(-)$J8L9T$4("NGX4L=S8T8NV##
M'6%U^0P".G%=(S)/H'N>['QB-C*7#85K0'CF>2RNB-$\T?#$@9KGU3N,UKSP
M_8';]CW?*V7[%6R!>98Q93?!+!891%@FBA5X#$FHS*L$,;7GSITVW<=ZF1L1
M&*%,X@Q>+I>DJG6)A#:)AF.4YG%0+?>SUT(U]OP_< >] 49&CWO.<Q#XW3$>
M[6G:_=XY90]V:V>_/(P!WHFZ%N*#>M>)OB1[IQV@WA6$%DO%.=UY0_UZ+?09
MX1>%OEA$(0O37(8P8@F#B.8)S&28P5Q?5BD(.$%.N3&=)9@;<ZBW"[DQA#OH
M=NPQ*I0C,TLKNTYUTTD/C/@W8*/ #6A*0(5Q-KII:W8;)?Q1SV#\O-*2NQ23
M4M9@D/;I;'A# V[JU5;JL:S)\N>J7#^^-9Z#JD^]P3+> 6O!.T'*U2?1J)[5
M#UT%(IGB%#,60\R%(KPT"6">YBF,29JF41+$0695P>-*.>9&>QOQNEI2#M>^
M5PR&Q=7\-!"/3(>]$L!H81*=MWJ 747 1A-]H]N/QX4J35['P^'V?9IQF>C2
M?<3Q<;MIOQ[5LQ?L5S0_W;WZ]1@\NT[WT-S0BX\GH9IO0Z3:XIU_+YK[5^NZ
M*1]$M3T\%[D0"8H%%+F^YX@P@81&#,8!QBG#),E#YG;/8=?Q_-8@(_=.MHVW
M*UE6#V9L7&\R++&WO;CPC^CH]Q0MF%T8:%?;^3<E->C%'NU.P@TLSU<0EIU/
M?./@!LGA!8/C\W.K__N^-%6-!>_RR&:<LC1C! 8RXA#AC,(LH0RR/,SR)(H"
M0=()TT.[RN\RSZ=+&_U+)^,\<D6[OQ,!BC)"(IA@AB *6 1S1#/(4R[B-$Y%
M2I+)<DB/_T:,GUMZ^SZ\>$)IYY?!;EV>Y?".O+!/5REX@\&,DE,/';AY)*UV
MEO[WD<QZZ*!,5RWXE #N?A>ONQ.)+^K1A: X2(@(8)J%,42<QC"+:0H%8Y$D
MA" 9![9^%KL-SVUGULL&M'#V7A3/L+KL-3$4@;$/[ZR4=_*).*;I(!^(9PU-
MYO-P3/Q='X>C?Q^V);E](L52YP#XJ:QTH>EM"IK7@C;;0M.W4LV##ROQY;XJ
MUW?W/Q5/YJ:A[B(FA/%M71#$A<0H@QB'#"(D)"3:V,QRB44<Y3'B3AZE7J6;
MW:371S%:<%"N!/BF;^B:5G[]KV@_<DS#X'<X[8S$%QNDL7E)2;^3^>L&;!2%
MLJR@5G43+V9L1>T3W*G[3?VE=03OBJ)]5ON#I=C\6?N!J:?;X3>7LPH8T"$#
M-#3^;,%1QL>KO>=7PDEMNE' W;?;QNEDV(+QNJC)W5VETVQU,0[FZ.QYN?5%
ME.$D3SB"/ RU4US (2$YASP*9<)2PB,<NBP$5KW.C>!WTPE^K$J^9LWNB;O>
M1/:GR*\4'=R5E7.27;O1L.-Q[QB/?^F[(Z\&N4>SS;D(1CE]=T+)*TO:]3PI
M^SF!L<]J;@\/\&+IX[4^"5-&I/>649-,;5=9[\J?9HD0&862\A"B( \A38F
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
M'22.9*(]^EX!C8?GJY&7&4O_ER\3ZS']]<[+#-31"Z07$F5@MMGCI2\6@=K
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
M*(0HCM7V%TD!.<(H(4($2>!TI?V\^;FM$JUT-EFG;;"SLU:'(S(RS=N#X6R
M'M?9JZFYU\6D1N5Q]?;-QQ/?&NC:2HK*I-7^\=OFQW\O1*4:NO_V3F_-C$<F
M33E!),$P)+$R#4.*E6E( ABF:4I"P02/G+*/V'4[MVFN1>T2S&^$-5[B[V__
M-LP!U@Y].T+PC^G(1'$-G.YNLD[H^/6:M>MZ6B=:)S@.?&K=GAX:2JT+?FD#
MN W![ ,R%VF2<)%)73*296J?R@*8TQQ#026B09K)& 5NH=3'.YH;_>R%4IL
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
ME3#,_=0L6MXH/1?S[8Q0+"B!!%2ED  5H@1,5MQN?2O&&,02,I]-DNM-3FV
M]A9GJC/9;Q/$ 6.W95I<Y!*/ZQUHO;793P?V9IW!EX7(O)=B[NA$77TY-#OJ
M@LL=AN=K+(\[@S4]SY8^_E4MS01BL1=Z+Z16!FT*5*490!A3P%G! :P9KA%'
M):F\:J&Z-CPUXNGW9'>[A&^#Y!N<<7>CH11HIIYD'!:IZK=:&Z/OLL[L[(\D
M,OJ^8,66"W5K?&S]4"](S@B*^MT?KXK(%[5^L"G:RRX]NH8EYY@#H6QZM(U
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
M*FKUM#!@$C. "XHJ@:$@E6=!I BXCA-%^&X'9B]KG/W$6V,]I\R7P'6C^@B
M):;U#BEC8B\VDOWT\S6D @-:+N*0(*#EM*T7"&BYZ/#Y@);+EX?1;;?D-W-6
MH>;?;3'@#VK[NB^7QC%3W,P?(;:32*$)(-I0,*LH1[A$*&=>NYU#C4V->'M;
MS0J[-S;@8&407C=^B 5:8I+8X?7I "^F[='*J\5B]6>S8:'MY&^MY-S67]R8
MM?+KV'6\7-"*2B6##8[*)RZNG]2W=[GGQGSS-D'4'N2LEN;'=AE4,Y27/)>@
MLH&TB%4(<,DAJ&L(ZXJ)&G(5E&=^KK6I<4N7[KPW,FC5.0RPZX9<)-@2LXLW
M8N%YXD-(I,D//]OBR^2%#SE_,1]\\*8;"_Y9D??%RA;WVA<P**0ND54!K"BM
M ,*V\!;!9OF"ZJIF)8&EW[1DJ+&I48>U-6N,S0ZL#0[%'\39<:LJ$GJI]Z:"
M@0LO[3> 2)J:?N<:?)EB?@.N7ZSB-W1/X.IFN9W+^>)I._^N]LE!;_\2BR>I
MI(T<;.-+FK/0>]VKG'Y4ZS;-\\?Y!S0?6#-/$65-"M,IJ@3(S%< 45C9 L<%
M0E@+)+S4*!+:.C42.[3T*(DN8!:4LHL=%VC3Z+C4Z[NP/O-?P*5',^[Z+Z&]
MXRX?TP-_LOH<H<G #T=SM-%OU. *J5PP0_":"H!DB0&'O "B1+6V>M0&;I^H
MXZ.G>Y'S"$'&7VP;65?:+V.-J9Z4? 2>(XF&0I*:]AJ[4FQ4G7,X+C,=M3 N
MEYQS[F3TG[THN 8>^_IUK;YV5/%)?5?+)_7%[FC-:J%*F",)(,40H#PG@.6\
M I!5BI.:5Z7?T>%08U.;:AW;:B/&.FNS/QI[/6=;@SB[C?18Z"4>^.' A10,
MO(I([.J EQL<NQ3@5=?/U/V[?D\\??>^4.>/3LAI\^9)S<I:"EU0"12NFG#4
M$C!L\P @*>M:Y7D.N<^,P+7A:4X6]-/6+-JSA_ER_O#TT-4 ?.RLOET$_FP/
MN)%-"EP3$\]%0?B=W7?9=I5QE7UD\XC9J+Y0)=>&/]OXBRO$#T'BHA,_>']4
MM<.]WMS//_:7=,TV0:GMQOV[Y6:[;FHS;NZWW]3ZRS>V[')I?UFMM9HWU=C;
M -<9EI!+@NSDR>I#<V7+6]BX4@QE4=!*%+R:+2TW*_GE9M'$%"XX#77:#O43
M1Q+N3_=VWA"Z/^)[X'B\.+%N'5_]\:C*T('C-ACVK$IDFRO0G7<> ) U"&1;
M T&O27"7[5\:\\ZT."17D4S9>6.H4":Q?PHJEBD[QE$%,ZD) 76[S]53>+64
MYL%ZM7ZP(4G[?^^D"@F"YG_<UE51"B!D3W2PT(##G$#)RI+BVKF0MW_[4]L_
ML+5!F@S2C^8O'H6H Y ?_J2,@&?BS\*%\BNO++A[!XY^=U55,@KP'B7!TW;
M2#7"4W2$7]WP<!@'"XD'/':\RN+A/A^5&K_A,?Z2?V^76_.U^F6^4!^>6GE@
M1DE!. 22*@10F>> *LZ!IK*2ND)<T\)5]>_YPZ=&_:U]F34P:RUT%_\[ 6Z8
MW&^%(S%S>R#A)0-XR>4@)<"3AXTF!GC)C4,]P(O7A&UY]-5ONUJ?_:;*7/7G
M2882/AC+NS-(B#"I,.8VQK@ B!()F((5D)A27&B.A'8:MF'-3VU@]R6$55]"
MN,M_VOS;/P@LX+^6.\O]]A\\.\5M"R$=U*E)HS,<K+O:P@>FQUNDA\$3=9WM
M:<*H2^4P>)ZO=@.?<F/H<WL^;AY]T-YOC="YDO?+3S;<Q2H/M&VO^Q\;D9?W
MNUI.4AIR4\)0'9("(*(A8+PN *MJE9<0P4J$Q4K'L&YJQ+B/$;[K<];MTO?
MPZQW,6N*AG=>-5<=NIFU2DSA];GBO@1N3/MB79N8B%^D5\.#QF.BGR;*/(J%
M+Q.6'A/<BW'L41NYN=CK+_.E617/V>+CJBVRMLOOH QRAE@%*E*;;P,L$.!5
MS@"N2_/54*5YLE_E,X=&IT;Y1T5)=U9GO=DQ"KU>[@#'0[3(L*8^_;H=T5N*
MO%Z%*%6-U\L-OU2)UZM0#%1XO7ZO'S%MUENKV"V?Q/9^_5FMO\^%:G(L<HPH
M+4K#.H09$M)< EHBF\R'!%(%JR7'+B1TJ8&I$4YG8ZO*V9KIE?=R$<AA,HD!
M3V+B"$#&F2BNN3]$"N;> T(P/STG@XL/'V7@7W.M'^17KPO='K?").O'U;HY
MM6DHY+75%%C_>+V2:D9+IO-"2J 0TL#F2P".I0*R0I+DC)>0.M?)<6AO:L.]
MVSH^LOFN+0V563&,UO+,FNZ[NSZ,N^N&>S0TQ]F#OPG(@,UY)WANV*\??O[(
M6_A.SI[NZKO=%KB0$=^4?%JH>_V?:O[UVU;)5]_5FGWMCA'N=2NYV01_[U6_
M28XEU*JRI5%K0SH8 Z8*"B L(80UYCET"N*XR8JI45'OA)V7]VYDG1_=L5:C
MW=ZXXKG:">HEQ^5/:NQ3KX=\8.^22[(D<NPW(1EWV11DR;CKJ%O .EE8W?2P
MT(G9YP>V6/S\M)DOU68SJ\WZJF!:@(K6!*!<(T"HF8T1C$2>,UH1Y:0(?.'Y
M4V.[;K[0V)CU1OI.L8X1=)U2!>,RSA3*$9* R=)9QV^8'!T_;^3)T%EG3B<_
MYR\++72HM%JON]"FCVQM%FIV.B6;;>4^[7TFB)G1L%(#KK2M=DB%&<1E#G(I
M*U@+7K'<*Y_5K=FI#?"=U6WA@[OLD:VS[XW C\V@D*O%@JTWV:/YO#;9%)[)
M%(Y]X3:'B8]P\KV8'MS/+;C&9KO,:JWN=)0^VK)9UO"8)1%]@(I<%]&IZ9&+
M(_K <5HAT>ONVR*QNAVE\XD!'U;+[VICISU-=9(F:_3P]Z]7F^V'U?9_J>TG
M)59?E[;RU_Y)[4W/$P5F6 @)%<L!KU$!$"08<%U;5BQ*:N8W->)>B[P7\V1J
MS/I)/;"Y55IIF;7+4!*'F4R]8K85='WJ$.F2UNZRY6J;_5!;JYS;(1 61S;^
M*^7&YG^+%R7UJO9<[MH^_><NV_F_2VEK9'WL6]5Z<Y=9",QU[<NR1^$N>_5@
M]X_B!\F]6(<EB;<;WYL7"=U[L4Z[% 7X<@8%?J&/Y5G?K"R[S\QJ'W+*.*A+
MI  JS"*"%7D)ZJ+"!8.UK@KD]?4\U\K4OFS/982S/UH[/8,[SB/J^/&X%:?4
MFP3>$/G3\1 $<:GR;$OCTMB0LR<4,WAQ0 )L0R4=8?7I?B*',)?<#'I2$O.'
M@8TA+D!.%".<"B25>X;KF0:F-N@;$STR*,]A-CRV8R"1>%BWZ@&]>2&)I>=@
M\<@<O1&>D5)#?6'R2_L<P& PK_/<?>,E;@Y8?929.71=X.&O6BS:0-G?V/K_
M**NATQ6_F=F4K;RI_R64! B1&E!NZ*RLJ)0U$9!AZ77">[&IJ='99[90;03[
M0V^IYV'M950=3V2C8)5Z@=H:V0"U,[.O7Q7Q3/4J%G$/3B\W-^[IZ%6W3XY
MK]^15K/O@_IK^^5/M?BN?ELMM]^:R%,F654#ACD$2* 2\*I6@&M)RX+0@G*G
MR+1;#9D:P9A7#Z81[3OI C>^&0/8Q&SD)^IWE_TOQ=;9_3(B4=T*XHO(_9T8
M,TGYOTN0A<H!7GQ>L#:R<=BT^*1DU_AJN3'_^KC:F'_1/_^P4XIN1J\YE4K4
M!-"":8!H40$FI 04%:) !D6&O4C1I_&I$>&A[=G>^+NL-]_&;5D=-^.!MXRR
M>Y>XD60JH!,3HP_&$9=CMZ 66XK9W8"QI9F]H3DCU>S_C&"6,P]EBU_7JZ?'
MS;ME=]ATWH(/YHWL=FW-RK$6TJX<D:@ (@P#7A<"(,QSQ6M%BIQY$EZ('1/D
MOL:-K/$CLX8&;I:'=HPS[:6&.ST#^B,=0G2WX!2;\X)L&9O^;@'L#!/>]+B
MO?]?YLOYUDPPOULMS:UYY>9\T>:FVX6W55![];!:;^?_W6IWVE*]=MGQBWFS
M9T6-\HI+ G)42L.%LK8S0 Q03:#&NN25I,YG!#<8,C5:_/)-K553U=ACY_R6
MCG X>!@)WL0TV'H!&C>RO1^M8L==UKN2'?K2%YAN5LO6GY$ZQ>/88Z3.&>EX
M)&TG^1VF1$!V\-#EEN>/=S@3 86C0YP8SPO?QUVMCW='/JFE^I,MOJCUP\QT
M#D&$5 !360(S6>> 0,9!F:-*Y\H*!7A%O5]I;VI?GL:^;-T:F)D6'_SW:(?@
M==^*C03:"#NNJ_69'=?.W.S+$(1!VZL.P$3?11UJ<_3-4@< SNV)NMQVHPS2
M^YT66B%1A26J0:XK!A J$" <"B!*L](O48V$XD&B1^^GJFJW%^0)UZ,[ Z3C
M6?%-\*0^(_9#)ER6Z,3Y-")$[U]&7>VRFQ<%ADZO#!O@9B&]MI3Q1K7_?;=L
MHE Z6<X#_34;]59C(2I ZLI,'UA! 8-, $HPA&5)2N8GA.G<\M3HH UQZNN[
M+AQ$:6]$WHTHDN"9F#]ZF[.?>JO_:0OQM AWEJ>1_?5&*RKAN+<^*@]Y@_*<
MGOP?$(NU7J^6C;K:?\ZWWUX_;;:K![7>'0W/L!92Z)*  @L;[%89%M-F_0-I
MQ8M*%SE$7L%NGNU/C<'>]+FIZ[;RYZW$-0Q^*'U%@_1E2*PW/_O3V)_U#AP$
MK*0D,R?L$E/:L TO3&Q. %VG-[?'!)P][ 5/NF(#??)4%_/W7 H((H58!3F@
M!<P!DDH!+B@T#,>U)GD)<>%4H"&D\:G1VZ%@4%^JH?>@#V#U*<7EVQ<.1PX)
M$4Z]Y',!UT>%Z7:\/4X3$N(^T@G";2^WWPE!(%J#IP*^SQSO)"#0VZ/=_]!G
MC%RWN,N+O7_:;K9L:<_1G\EJO?U+K<5\HSZNYT)]6BT6>K6V-\X$+DHS?V:
M:@@!PI0"7M8*X+)F3)0\SPN_M)'179C:U^I$TJXW/&LL_[=_%#C_UZ-:MW\9
MEHN9REOBN+4YZ;Y/_1V]O<;QKHKQ 1!WIQ*)Q^]3&OGX%^O):10\#G?C[U'W
M^.9NBE;^^'9+PCZUK[ZS^<)^NW]9K6W([6=;=:39RGJC^';_TT%Y-E'4O$:D
M *C.$4!*2$ 5J@!F%!4%49S47N?M_B9,[5/WKI'V:"ALLS/WQIIY 1WC]G5*
M"W?BKXLU,=O;>)?MO %F/("-\:=1&+H&N?>7(!RUJ$P>8,:H3!P.TW,FO>%)
M*9CP-[;M?MH5Z8&,\$(H"'1%A25##BB!$A"64YX7YG^BC,>#IP9,C05/A^+1
M2&V&[MZ+X )*WOT4@Q9O0S\Q*<8'/C(]7D9O1'(\8\2$J/$R1'[$./"<M!/$
M&69YH:&9$>JZJ@ J:@HX@A40!&I1E S7Q$E&W+?AJ='@V\UV_M"(X>[K2Z:9
M^LUJS)!2=0T(SBE 0E+ J"UI 6N.!90U+/1L:Y7F7A#R7?/I(&_$]#)V2H/S
M<Q/S1)W!>2D+Q2"HRQP"I#$"1'!#4GD%64E+14UGF+4<7[WD"#@T8-0OTIA=
M$7<A-*$OO</R9_PESXLN=*;T#3^%)'11<^,WVU5/8I>W!!45N38=@10N :)(
M ,I8!10MZXHID5?(*]?9UX"I?</-2UFE4;IQS-\; \C$7!6D;!,G#>Q6]%Y$
MTF;<'+%;(0J5L+DQ)\S6JGRV,=Z)H1104EHC"32K#841R0'')0/*S,J(D'F!
MB5/ZQL46IL91S\_#VG/4WS=*/RW,&--VRM4,*L=9UF5HAZDJ"F")N>CD[#">
M8,Q5]V^N('O^Z:.5D!UT[K"&[/"%H;7*7DEIWH1-DR!RO_ZX7GV?&Y-G$FDS
M*8%F?!>"V^JQE5D$*PPJ).LJ5Q6JB]RO:-GYAJ8VZKM279VQ!W5.>X-]*YE=
MP'=XS,=$+?'0#P<LH,[9,!HW%#R[\."1*Y\-NW=: NW*]<$Y$JL']7ZUV?QB
M3'S=BJ28*<=>)>5G91;#JKWN"_M+;=[^M5TST\9\R=8_FNPR>VID0YQ7C?;H
MNZ49NFJSG3%<(5[7.2BU,JQ"N "<5PI EM<,$5CGE/ELJ"6T=6I[<*T+V4\+
MX^P_S:S>NF7^LU1ZOLWLRV2F(\T56^NE=V9&LBYW6X=-I",3<V7?A^^;/FPZ
M;>_J@0A?W[W=]8V[[;'[WKVL]R]J.DCJ3HB=.I+,WK'33%(#?R8E)7F38=\?
M>ZK3'.J\6SX^;3?OU7>U@-U*B9,:"Y9K4!6L *C*,2!%C0'5N>)FA:IS[A42
M,-#6U":FC6WM&M13)'H(4#=VC@138G;='P?>9:VA=UEC:@83")@Z8!*5[(;:
M&Y6L'!Q_3C8NM_BO7]]TB3/OEH:H'AK2:K(D9GDNE2@J"6AIR_2B6@(F<P6J
MNI(<:X'-9--U[7JID:G10V]G=F!HETWE&/\S".GUY6H,H%*?[H5@Y+5*O09"
MT KUXD-'6YU><^MP97KUVM"*-%_M4S^I1RN"MORZBS[C2.FR4AAP*A% 6E%
M<<Z!P+(H<YWCNO*2%[G4T-0&?&=GMC,T..#O(K1NDX,8@"4>^$%8!52D&08B
M<CV:"XV-7(UFV.736C17KH\30W=\V-_I)MJ4D<WV9[:9;V9551/.:0TDKBA
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
M-Q#GJMLGD3G7[P@.3&Y22#\N6),?^O:_GN:-8L\'M9U)Q1'$I0):(5O/5Q!
MD T_YJP4J,9*H]PS\OAB8U.CC=[69NM#]88VB9?>X<27$78CC5BX)::-?=YZ
M8VB#W-L]<A\&D L)^+T*2>R(WLL-CAVR>]7U,S&YU^])&.SWYVI&)*E@@4M0
M4<H!PA !4L(<R-*\34(S)9&*'NKWYVIJO'(UT*],$(%FX'?8=4D#:NJYBF^T
MV9^K-  G"/#S WJJX7T#@*<)[MO#%B6TSSQN>H%]>Q^#POH.;@]@_2]*?%NN
M%JNO/WK]9@T1KPH"<$D80*P2@)60 (:J7)7,3"%+Z,SMSY\^/0;O[?,@DA/(
M'/CX%B 2L^[>M.NQ$0Y@>'#G+:",Q) ^X/@QX"7G!WGNY*;QV.R2O4><=?&B
MZ"5U?UV;9?0,5;2L,=) %:4A*T4@( I#("M#5KA67%*ORG'7&IP:?QU&4V[Z
M($IYH*5L\\@V=]E7:WRTTKHM]HY[[Q$13;WW/EQ.]]=!#&-6T3T"9JSZN6VC
M4ZF<>P2!1\W<X_L"!6.Z:->5'B@J_LN3380]4UK\6;!W@73%-9(@A[PR2V6!
M ,60 2THKX6N%().JF@IC)L:FQTF1[3>@<:];.]?=^9[E[4N9D<'QIV3GG(R
M,7O;C1-?J@\3\V>D[DN2!) 2^K@B,3$-'%<:)@&T)X(P*=H(K8!L%N1/ZQ\'
MY95?B?]ZFJ^5G.4%5;FA=L D*0$J> XX$060M:'[2C!>R6*V5%_MH?$7G[K&
M%YMTH@':TL!)P^DHX9-Z-(_Z9J/2#"D<%D@*KZP^!+P0)5.UD$ SB@%BA0 $
M5B406!1E4<"<E%Y?VUL1'[4:30^U[*5$DT#L]HF+!%SJK8_.RN?%ZWM38Q9N
MOHI'Y#K,E]L;N:SR5<=/JR1?OR6,LY^7+]C%D2E:XMR6JLN+"AG>P!A0#3'
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
M+CIV3A3A\L4!RN_O=F&]^\BW5TNYXY7?&A6FAL4V-E-EL;(_[K4NI:X)1)
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
MO.74\*ADY0/%<X;RNC=0/^A<0>E/-G;>;F'TA9[+0HJB( #R,@<H%R4@>4V
M@"@O.!*02:>X=)]&IS8E;@ZTFS([=]FZ-S5[.'# 4U#(!7@W3HH-9V).VH<&
MV+IC/9+Q"X_ZP!)75<BEX7&5A3R@.%$7\KDW0CR H;C%DYUPV7"#U7([7SXI
M>?]HYFAVIZ>AQ)8%9Y5FJ"J@F2U!&R2 ,0-<<0P4X3HO89E#Z*5$%&;&U(BJ
M^[P;CE(V[?J&$ 'WG@B(&TB"[ZC!!'?9SH?LT(ELY\5=ULZ_6D<2!1EX _G_
M-7>M/6[C5O1[?X6  NTN, 1$\2&Q!0K,YE$$R.X&V=D6;3X8?&[<>JS ]F0S
M_?4E)=F67S))2QI]268\,GGOH7AT25V>.USF@;\I+Y>.$ Q79XY">&MQ#%DW
M8L.]?0Y62^PER[AF10XH-#8\@PR"PI@"%-HPDG$D35B*0E=G$V6[2DTWC.HZ
M(?4CM+Z &IBV]ABU<C&33X/(K?A TBL!=78X*LWXN'Y,)E[?"9<::#1FW]I&
M^>)?FJ_>+-5KOK$A4\J%C8PHD-P(&S)!";@-HT#!">+8&%847E4)NSJ9&D5L
MQ8YK0Q-G:>+JA#M;_84'+D+:315] 34P141A%"1#< V$*"F"BXV.)D=PS:VV
M),'5:V_5ASM_\+"=>W(O-_.O\\WSD1X91FEA=$I!YH('K%()"D0+0) FN)#,
MLD/0!L_M)DV-1'YY>GSDJ^?J)5"5!E!;GVRMC]6,BQXROPAEW($8F*3.YM3M
MT^ZVF75WNT$925CN5F@'TIF+-NN%9.=NA?&R"MW-+=^0;?ZY7-AOK-UYFLWS
M3^5&GUMN4*%5@3D%6J0YP$SE-B*#!DB6:YXQ85=S0;5XO'N>',VZD4H^ZB^V
MP<]VP)(/J_*W%7^,2%WV MZ318> <VBR;-G\YZ2V.G%F#[\&#(:K_XQCK]['
M3S0. >5L?G%0 S<72'0' =\NRM_W O8T,YPCG@.J% <XQ040&"M@(T2-<U*H
M7&21U1!/.IL<-QT4Y',G7BMS^RAX> JT+S'U ]_@7!2-W"T%#"]",E2UPM,.
M7ZHTX477.^H07OY.Q/F$@%WR?Y:K_]J_-0J<]^H_3^N-LVB&(#+4Y!H8)33
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
M_+L?5TXK&)83J:WP%BX16WNTW]N?_O:'[2?V'W?:[&]_^#]02P,$%     @
M;($)4RABHJ&0=P  1JX% !4   !A<'!F+3(P,C$P-C,P7W!R92YX;6SLO5F7
M6T>2)OA>OT*3_3I6\GVI4U5]0J24K=.2R"&ISJYYP?'%G$0G F !"$JL7S_F
MB'W'<AW7@SDG4V0  >+:\KF[F;DM__K?_SR=??<%EZOI8OYO?^'_S/[R'<[3
M(D_G'__M+[]_^ G<7_[[O__3/_WK_P7POW]X]\MWKQ?I[!3GZ^]>+3&L,7_W
MQW3]Z;N_95S]_;NR7)Q^][?%\N_3+P'@WS?_Z-7B\]?E]..G]7>""7[WM\M_
MD38'EA0"^J) .>?!25L@6IVD58KEG/_OC_^B!>>VQ *)14$?8P:<S@'01E6R
M-S$7O_G2V73^]W^I?\2PPN^(N?EJ\_+?_O)IO?[\+]]__\<??_SSGW$Y^^?%
M\N/W@C'Y_>6G_W+Q\3_O??X/N?DT]]Y_O_GMU4=7TX<^2%_+O__?O_[R/GW"
MTP#3^6H=YJD^8#7]E]7FS5\6*:PW,G^6KN\>_41]!9<?@_H6< &2__.?J_R7
M?_^G[[X[%\=R,<-W6+ZK?__^[N=;CPR?/Y?%;+KXY[0X_;Y^X/M7"X+#V_"Q
MDKOYY^NOG_'?_K*:GGZ>7;WW:8GEW_Y2_S%4O3(C67WH?[O^Q]]?/__S$E<$
MF0V_O] ;%]]1G[8?+?CG&N<9SWF\?,ILD6Y]:%8EO%A>_LM9B#C;O#O).)UL
MOODDKM;+D-83[EQ1.BO@Z#VHG B J@+->BQ>$-+0WF:]DKTBNC<*66'ZYX^+
M+]_3%W]?Q5%_V,AE(Y-[CSN7S7YT7ZZ_G^=EL3S=B/1#B#.<T!)(REL.WO!
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
M$)J17V^<YSHD/RA(;CQZ.YB\G,#K,#(>&2@GQ$'><#$+'R=&!<1(MCB:VJ3
M>D*XDA&28Q(U*_6=@\!QZW'; >+EQ%7WE^5@(/C7[^_)DOCZ^_XMQLB(FJ\P
MTP\K^E6NG>1^"+/:)(V<.%RO?I^'LSRE=V^SLFT3LNV_?J V97OR<V CLWNM
M:=Z4GZ9S>NJ4-H[%>:7=57\L;S!A-AF*%P94S0L)W&LH01:4C#'S9*QR@"Y0
M3U W6/.K\X8(HLCD@C10N*:EQE.F35)ZB&B=4V22Z?14"LD O([8&JT9*AYM
M>[6[T#MH1?-X/R=R^IT/A79F)VHG.3IG(XLUE\K2S]%Y9(W1TT>_M"'TO'6G
MM%V$W@%Z'FC68]!A%#:0;Y<EF6?%09 9P3+C([+,&&_4]>K%=$K;2<G/=TK;
M1>(]8.9^^RYTR:&J1J UM/WJQ,%G6E#2<BW)JG?./I6R\DUW2MM)N\]W2MM%
MU'V!Y;)]%[,8'6H)&2T'I92M== 2?!#!,,EMN/9J_M$ZI0T$EGU$W0%8KG;<
M:V_3,,6MY1ET<C7AAKQ-'Y4 *84.MH3HQ5,!F0&,F"M:Q@5+"^ME/S%W )23
MU8J\T2OKWX@8%6,):/DX4(9K\)8Y2#*+)$)Q)*TF(+E-1R?FRIY:70PFXFX
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
MC,LOTX2K]XM9GC@T1B:)D-"3%\*L@J!D BU<84XZ]*)5^. QFD;.0AE$YP\
M:0 %= "E]SB;U0UUGG\-R[]C[;AQ(:E)# $+2R2;Y THLJ' H]%0:V@2!F]D
M:+,A/4[3R#DJ+: TD (Z@-([T@81\(E8>4WG^&RQ&05[R4Q0WF9?8_ZH$R@G
M)$3G.:3",2%Y*IFWV9B>)&O<J[PF@!I.#1U@ZJ\X)Y]H1KR<Y-/I?%KELYY^
MP2MV EHR\!!8%O5B29&@R":@S=<8YWA@!=O<Z3U#V+@7>TUP-:0J.D#6:Z0G
MI^E&)_3S##?*(>9.%\OU]+\V[T^L2E*(7"#%7+LL6 ^.2P?.>2NBS(;Y-M[@
M-M2->\O7!&.#*Z4#H-T5U*0XK64@OX5+7\AAQ0*N3NQ3PJ(T1B!CK?KNW*9D
MW&N]9H;YWL+NH*CWJ@'L=<.-2;91Y5I]RDN=8)0L'=DYTL9J@HDA.0R-7+H'
MB!G77FH1$SA4XCV IK9K^6TQ7]QFY>I@]LD)KXG\;#DH&VL;UT *MR8KKI,U
MH>&L@T?I&M=$:@*EX?30P;GU\YR^"U?K6TS4ML#"NJ*2$B!D=4O1,-J?M:?-
M-:#,UHN4VL0%'J-H7$.H!9(&D7T7&+K<4R]#^M/Y&2V,ZYNN'[ LEGC5@1I7
M/_Y)XB.=3>=A^75S75J[G]?+@,4F4'(IF@G7WJ.W###5[A^N!" /A/X@IU9Q
MSYT7;<RHADR-:Y&U07(?".C@F+YB\6(]_T .=9FN)UZS)+WDX"+?C.A%B"5'
ML$4++G/QJK2I 7R$H'&SM=J!\##)=[";T@%PPT@UQ;A@:K]U)%]8B5@@:F;
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
M;:WS)PW\7130 7INY3O49(5YFL[P%DL?%KM*4_@@4K8)I$4-2B"27*V#.F7
M6)'HSS9%SRVX&3=Q]LA8'AT.8V<7O$9Z;)IN]$L_SW"3_S//)Z>U6^Q_;=[_
M\<\T.]N,0KCQYJ+\-*4/)GI[,XI]8J6WR$.-$^DZ]+@H<#EQB,EG)NGL8DX^
M9V4.2]*XN_+XT%J,KN>QT7V3D3?E2K"_5'_S79W(\::0S$]6*R3&F'"2&T6R
M]8F!TL6"TR8!TDN72C!1/NLF[?S4<7?;OC#:3%L=V!VO+QY[8_KQR3S3WZ_H
MS2GQ8] JK12#R&L*O+$&/ L&4"$WC&O9JA#K.<K&+5SH!J%-%-D!,"\G4-Y.
M[ITDQA%+X*!CK<(F00&MMWK_(Y5U5I  &T4T'J1GW*J$[D X@-(Z@-XFYZ).
M?"?)G4OR8FKW)-CD@R1\2"NKC<%=+>8U$*6)3BM,"=OTQWZ4I'$K KH#X#"J
MZ^?.^/YEQ)7D+HH@KJ-SVKI ;$"ITP*4%Z%.6:V-=%!KJ6@%8INBE^UI'+<&
MH#NP-E)N!SOH?<Y.4EJ<D>1)[CC]LFF[86.(0MF:/H1T*@14Q!,/P! #CV2E
MR$8S1[:AKK>J_V&0\2P #U13SQOGVR5^#M-\:2=?G MD(V_.C OOC18P$TQZ
MD$'7GD',0HP*06K'3.$\J-BF1<Y^]/;63.!(*!U<E3WC=L/3]1%TSIPPSA<Z
M6R R,F14BA*B-L2<B5BBRD&R>*S#_@'Z>FLJ<"1<'JRJGG%X>32\#5_/NV9%
M(VSBL3(B2'1T+D07/,1@5#)".)[;^$+/DM9;JX CG]W[**A+F_''T\^SQ5?$
M=[AI;?[+-,3I;&-^3UBT*8LL@8R/#$K3\@K:ETW90\D&O4S':D+V.)6]5>L?
M"8<#J:U+2)X;&"DMSVXS)F*R/L0"8=-)5)D$3GD%W&5FN14H69OTR:U)[*W^
M_IA'\H$*ZQ*)KQ;SC;QJV?:KL]5Z<8K+2P:_3D(JS*,EDY=[3>RQ.BPI&2@F
M,K(^/,JC'<Y/$MI;(?Z14#F<\KK$YL5ZNW$5=6F3%.ELK(-R)4JD T#2WN]9
MAF"8T9SK(+#-;>(.1/96D'\\\W$ I76)Q_,BVK/E<M./]?H0*#X)P30"EI!K
MW@@),*,'F;-1WJ!&;#-*9FL2>ZN]/^:I?:#"QL[QV<4PKC=6Y]Q.6)'%.5&
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
M\R7_A^!N &6-#K@G:L>MBFBR)8%@$C70;HD/,I&#4]X;FQ27;:+3_Q %_X<
M;R"E=7#J#F&B_W)5HV$]L1<T D99.WUK!U$1Q+R))6+,(O,VQ:Z#LC%N54PG
M3M-HN.A@43P<^W@@'7X2@M/)2@O!HZ$#Q@=PR;!:)RQ2K+5IMHT?M36)G21%
M'!]&6]WX'*K3+NH-M^Y#S+#((GT!6OB%#*/:CXX)\E258#('[= V:EPU9#OI
MKK,;AP%K$XWV@=6-:!]:=J4@8X9KX*RFX5F?R!XS!4)*+HE0DHQMBMD>)>GE
M7Y0/A,9!=-9K8_-7X?-T?=[ZX_VBK/\@Y;RNN2B+S]5;J!.2R-6[S<1VE;#;
M??$@1:U[\#!0?>H[(KEF!!'Z;CSQJDI0B)!PTVZ/9015^ZL%3<9H[73%LC#<
MQ#8N[--T#9!TL?GVFU]-ML7B]/,96:%7*KA:*!](VC_0%_Q]XJ34D94 )M4Y
M6U8;\+7/##H1E5,:,;3)!]J;Y-'OP8?"UP,I%T=08J]= [;:,C9^Y%YM ';Y
M^N-M@0_Q<Z2-D&<6HX[ <R3(",)-4,8 IZ-7NV"MS,TRK1ILA%7^-_IWW!#^
MW?6S$?GUTDDQ6BZC!AMKBT/-$8+@!6+@7OK$,<C\'+;V?7C?.]D. +G<R8ZB
MA1'C,=OS]]/9FG;HB[F6&Y7^^.=GG*_N,AX=#^36>S#%>9(R<1]BLH#&J20R
MN?Y&#@>_+:D:/1%H/%RVT-N+/G&?D-4!37F&>O3Q3NI=Y7"<4UPFK3$7!3K)
M!(J;3%XT_>&"5,(;7Q?%"SK%KV.CCPK[K\O:#M-N,E=< EYX;8Z=%$3.)&BE
M%0NA%*O:=-)YCK*NC_1=T'(_7#V@2KJX4GF4GY.4SD[/9K45ZLV#8))X],J2
M;\>P>EDLU@'"7 *W3'/CF-6J32.<W6GM^@1O!,,AU-9/Z]PG&/T-UQ-KBK&9
M1]!N,\%1>EIM3H!)B97DE-6Y4>;XDW2-&Z$>!W>[JN-%QYU_"\LE/>E+<^/O
MWH..9^H]S>-Q#+N2K;>R!"A1$U8-H2H:8T%XQW)F(5ELTYEU-,/N).=I5>AJ
MHBTJPQBAQHE,EH1Q$)-!H 7J8C 2C6F46KL%=5T;>+N@9I>3=2_5='&]^Q17
M-XP$/DE*V2@M[>"QD/FJ<^U.)3EX3-)RZ5F6K>JBMZ.P:Y.N%?#V5M& X.LL
MZO)HA&K$<,RS-'41I]E-<D<*X(1DR$&)$%D=[F'KG!D;-1AMN#?,F:"_L0 .
MF<M7W&LO-...7#,6+:BZK.E<"5 O2F5V-GK6)CUW._JZ/NMW0<YNWLQ>ZAG[
M5F;+4^1BQ;_#FG)/^EN4GZ:K%&;_0:*>"%D863$&DF0"5$ DZ\8&\A)+LLEF
MO-?I^)'+F &(&;NIQ/  68RHK9>%SLK>FSE./#/9UNP1Z0.)5S,/43(#Q3.O
MB\C&WQW5-0@>+QX_KL'9%P+WT<C+P]R'/Q:3X)VT"1-DN:E5J\F3H::=6YZ+
M"G2HY-0(<_3X<>.'_6%N5XV\0,P1B'!BO,F^% \"D8P9%3+0 BL0,;&B;8[*
MZU:HJP2,VY:B0]SMK)6^K_1JC!Y)3!BX!99$W;M)D%$2-Y:CCFC1<MXFGW^
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
MKQBS<;^N9N:N>^#B_&[>WMX>RK8O&-$_V8FF-MZ)SCSD7$^-2C4;QM<>ZRX
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
MK@,S_!B%'S[^<T-,2:).Q*YCW06I?<F%0LJ@0=@4,'N+);1)9WQV6=,@]""
M6+22SLY0^YZ783&&%7R.1Y8[DX,R$'F=D,44@Y 5V3./+"MMLA)I*W.WKUT;
M_3+\D*@9E<U3;YJ/TK$^^JK78U7R&Z*BXL@MN<S<6@F*6PU."P9)A^R%%LX4
MW!T[C[QQ0O,SFG!?1,R^G.X>/NQ:T7CTL0@/F.N)@+46@N0<H@X)G?7&<S<.
M?-CD=F@:^.S"Z9[A,R.BN-\0E927#!,"U\D2V[0$)\E8"VD#<<[[(/W>\+G[
MQFF2.*:!S\Z<[AX^;D-43I$+J<B:,I[JZ%T+R%B $)5-F 1*&<>!CQL G]&O
M_B>$SRZ<[AX^'N?I#FV<W$,G5 ;EBZ/XEF5P% " T;3X4+@M:;O.;P-?/,TM
M\I2V:'>^3XBIU?+B[$,]/UD?Y47#A=4$?YXX+=JK&E1$!C8H5-;I+,-6_2[I
MJ7?B>?KJ82Q_[[6GTC5ME_/ZW?G? VBNMU\?DE=&0<$Z9B446WL4)M"!6(+&
MZUBV2I?9'C931EM[B.RAT'?@W\1B_\=L/OMZ^?7ZE,D%@3XI"+[.#K A@G.*
M-D[&##J?PT_Q]1Z"O_?JB46_B^ 68W!Q:O'C'W<6CH&S%,GC3I8SPKZN!94\
M H_(4W&UA>2(XK_[ZFFVC-'$OS,7.[@5J%GHL_GGM?%SK#CGI(120MWQM 4?
M98%DBA96%/*;VTPXOK.(B2L7NKCMWU4F_<!I<QM''K/'H@T85A>O<\U3I-TT
M,R>(+[P8$UL"JH?;]9V%^3@H=N!L![!X0IO6ZD(:15KW;GYMAF,0H9"9!"LL
MF6$9$CA#09=V'#$H9@4>=,[Z8XOL E*[0&&[A(V]Y7(4D/OTG\5U=(\>548&
M.DKR^HMFX'.,H%.N#>!MSO&@R42/+7+:L/J0D-M-+L<!.4+/M3X)&QE7& !5
MBN1NUGM?5B2@=5D89K204]FY.\N<UA\[*.QVE,W$,=RGV47U5W^;I]GW6;K$
M\[6G8;QAG'%-[F=MK"AJPHB,CB+1&+Q#]"IN50*]52SWZ!(FKCR<_!AP?[GT
M!JQ_SRZ^K)/O:\G2E]FW3XLW\XLZD'"CG=;&S+P&F>F#$M)0^,P-!*\T"R$*
MX[8:]+$;Y)Y?W'3G2R/ X#E0C2B3B>'VYH\<+R]FWXF\,HMYN;'$/DFKC=9
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
MU__X_U!+ 0(4 Q0    ( &R!"5,-&V9EM @  &A#   4              "
M 0    !A-C,P,C%E>&AI8FET,S$Q+FAT;5!+ 0(4 Q0    ( &R!"5.#>FHS
MLP@  *\]   4              "  >8(  !A-C,P,C%E>&AI8FET,S$R+FAT
M;5!+ 0(4 Q0    ( &R!"5,]>SK2A 4  &(L   4              "  <L1
M  !A-C,P,C%E>&AI8FET,S(Q+FAT;5!+ 0(4 Q0    ( &R!"5..!(1<,2D
M *_T   5              "  8$7  !A-C0R,#(Q97AH:6)I=#$P,2YH=&U0
M2P$"% ,4    " !L@0E37\XNHD,^ @!$$!L $0              @ 'E0
M87!P9BTR,#(Q,#8S,"YH=&U02P$"% ,4    " !L@0E3_\- FQ,/   $I@
M$0              @ %7?P( 87!P9BTR,#(Q,#8S,"YX<V102P$"% ,4
M" !L@0E3W5:.68LA  !Y5P$ %0              @ &9C@( 87!P9BTR,#(Q
M,#8S,%]C86PN>&UL4$L! A0#%     @ ;($)4TS;V?3720  +DL# !4
M         ( !5[ " &%P<&8M,C R,3 V,S!?9&5F+GAM;%!+ 0(4 Q0    (
M &R!"5,@Y(#\+LP  +"C"  5              "  6'Z @!A<'!F+3(P,C$P
M-C,P7VQA8BYX;6Q02P$"% ,4    " !L@0E3*&*BH9!W  !&K@4 %0
M        @ '"Q@, 87!P9BTR,#(Q,#8S,%]P<F4N>&UL4$L%!@     *  H
*DP(  (4^!     $!

end
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
