'Created by Charles Hoffman, CPA 3/28/2016 1:57:12 PM
'Report frame code: COMID-BSC-CF1-ISM-IEMIB-OILY-SPEC6
  
'XXXXXXXXXXXXXXXXXXXXXXXX NETWORK: 001-General Information (http://www.xbrlsite.com/2014/Protototype/fac/GeneralInformation)
'General information
'Reviewed 2015-11-13



'XXXXXXXXXXXXXXXXXXXXXXXX NETWORK: 101-Balance Sheet, Classified (http://www.xbrlsite.com/2014/Protototype/fac/BalanceSheetClassified)
'Balance sheet (Classified)
'Reviewed 2015-11-13

    'Determine which statements are used
    IsClassifiedBalanceSheet = CurrentAssets

    'IS-Impute-00: (Added, 2016-03-06)
    If RedeemableNoncontrollingInterest = 0 Then
        RedeemableNoncontrollingInterest = RedeemableNoncontrollingInterestCommon + RedeemableNoncontrollingInterestPreferred + RedeemableNoncontrollingInterestOther
    End If

    'IS-Impute-00: (Added, 2016-03-06)
    If TemporaryEquity = 0 Then
        TemporaryEquity = TemporaryEquityAttributableToParent + RedeemableNoncontrollingInterest
    End If

	
    'BS-Impute-01:
    If Assets = 0 and NoncurrentAssets = 0 and Assets <> LiabilitiesAndEquity and CurrentAssets = LiabilitiesAndEquity Then
        Assets = CurrentAssets
    End If
    
    'BS-Impute-02:
    If Assets = 0 and LiabilitiesAndEquity <> 0 and CurrentAssets = LiabilitiesAndEquity Then
        Assets = CurrentAssets
    End If
    
    'BS-Impute-03: 
    If Assets = 0 and NoncurrentAssets = 0 and LiabilitiesAndEquity <> 0 and (LiabilitiesAndEquity = Liabilities + Equity) Then
        Assets = CurrentAssets
    End If
    
    'BS-Impute-04:
    If NoncurrentAssets = 0 and Assets <> 0 and CurrentAssets <> 0 Then
        NoncurrentAssets = Assets - CurrentAssets
    End If
    
    'BS-Impute-05: 
    If LiabilitiesAndEquity = 0 and Assets <> 0 Then
        LiabilitiesAndEquity = Assets
    End If
    
    'BS-Impute-06: 
    If Equity = 0 and EquityAttributableToNoncontrollingInterest <> 0 and EquityAttributableToParent <> 0 Then
        Equity = EquityAttributableToParent + EquityAttributableToNoncontrollingInterest
    End If
    
    'BS-Impute-07:
    If Equity = 0 and EquityAttributableToNoncontrollingInterest = 0 and EquityAttributableToParent <> 0 Then
        Equity = EquityAttributableToParent
    End If
    
    'BS-Impute-08:
    If Equity = 0 Then
        Equity = EquityAttributableToParent + EquityAttributableToNoncontrollingInterest
    End If
    
    'BS-Impute-09: 
    If EquityAttributableToParent = 0 and Equity <> 0 and EquityAttributableToNoncontrollingInterest <> 0 Then
        EquityAttributableToParent = Equity - EquityAttributableToNoncontrollingInterest
    End If
    
    'BS-Impute-10: 
    If EquityAttributableToParent = 0 and Equity <> 0 and EquityAttributableToNoncontrollingInterest = 0 Then
        EquityAttributableToParent = Equity
    End If

    'BS-Impute-56: (ADDED 2016-02-28) 
    If NoncurrentLiabilities = 0 and CurrentLiabilities <> 0 and Liabilities <> 0 Then
        NoncurrentLiabilities = Liabilities - CurrentLiabilities
    End If

    'BS-Impute-14: 
    If Liabilities = 0 and CurrentLiabilities <> 0 and NoncurrentLiabilities <> 0 Then
        Liabilities = CurrentLiabilities + NoncurrentLiabilities
    End If

    'BS-Impute-11: 
    If Liabilities = 0 and Equity <> 0 Then
        Liabilities = LiabilitiesAndEquity - (CommitmentsAndContingencies + TemporaryEquity + Equity)
    End If

    'BS-Impute-56: (ADDED 2016-02-28, Run a SECOND TIME in case total liabilities was not yet known) 
    If NoncurrentLiabilities = 0 and CurrentLiabilities <> 0 and Liabilities <> 0 Then
        NoncurrentLiabilities = Liabilities - CurrentLiabilities
    End If

    'BS-Impute-13:
    If Liabilities = 0 and CurrentLiabilities <> 0 and NoncurrentLiabilities = 0 Then
        Liabilities = CurrentLiabilities
    End If
    
    'BS-Impute-15: 
    If EquityAttributableToParent <> 0 and Equity <> 0 and EquityAttributableToNoncontrollingInterest <> 0 and EquityAttributableToParent = Equity Then
        EquityAttributableToParent = Equity - EquityAttributableToNoncontrollingInterest
    End If

    'BS-Impute-16: 
    If CurrentLiabilities = 0 and NoncurrentLiabilities = 0 and Liabilities <> 0 Then
        CurrentLiabilities = Liabilities
    End If


    'BS-Impute-17: ADDED 2015-05-29, also removed mappings to detailed NCI concepts
    If EquityAttributableToNoncontrollingInterest = 0 and Equity <> 0 and EquityAttributableToParent <> 0 Then
        EquityAttributableToNoncontrollingInterest = Equity - EquityAttributableToParent
    End If


    '******************************************************
    'BS-Impute-AGRESSIVE-01: 
    If CurrentAssets = 0 and Assets <> 0 and LiabilitiesAndEquity <> 0 and LiabilitiesAndEquity = Assets Then
        CurrentAssets = Assets
    End If
    

    
    'VERIFICATION RULES: Balance Sheet relations

    BS1 = Equity - (EquityAttributableToParent + EquityAttributableToNoncontrollingInterest)
    BS2 = Assets - LiabilitiesAndEquity
    BS3 = Assets - (CurrentAssets + NoncurrentAssets)
    BS4 = Liabilities - (CurrentLiabilities + NoncurrentLiabilities)
    BS5 = LiabilitiesAndEquity - (Liabilities + CommitmentsAndContingencies + TemporaryEquity + Equity)



'XXXXXXXXXXXXXXXXXXXXXXXX NETWORK: 201.7-Income Statement, Multi Step, With Operating Income, Special 6 (http://www.xbrlsite.com/2014/Protototype/fac/IncomeStatementSingleStep_Special6)
'Income statement - Single-Step, With Operating income (loss) (Gross profit is not explicitly reported but might be imputed, operating income (loss) is explicitly reported)
'These rules for Special6 and Special7
'Reviewed 2015-11-13



    'IS-Impute-00: ADDED 2016-03-10 (Changed basic relations of preferred dividends and distributed and undistributed earnings)
    If ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic = 0 Then
        ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic = PreferredStockDividendsAndOtherAdjustments + UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasic
    End If


    'IS-Impute-00: ADDED 2016-02-27 (No income from discontinued operations total provided, but detailed line items likely provided)
    If IncomeLossFromDiscontinuedOperationsNetOfTax = 0 Then
        IncomeLossFromDiscontinuedOperationsNetOfTax = IncomeLossFromDiscontinuedOperationsNetOfTaxDuringPhaseOut + IncomeLossFromDiscontinuedOperationsNetOfTaxGainLossOnDisposal + IncomeLossFromDiscontinuedOperationsNetOfTaxProvisionForGainLossOnDisposal + IncomeLossFromDiscontinuedOperationsNetOfTaxAdjustmentToPriorYearGainLossOnDisposal
    End If

    If NetIncomeLossAttributableToNoncontrollingInterest = 0 Then
        NetIncomeLossAttributableToNoncontrollingInterest = NetIncomeLossAttributableToNonredeemableNoncontrollingInterest + NetIncomeLossAttributableToRedeemableNoncontrollingInterest
    End If

'    'IS-Impute-00: ADDED 2016-02-27 (No total cost of revenue, but detail is provided)
'    If CostOfRevenue <> (CostOfRevenueGoods + CostOfRevenueServices) and CostOfRevenueGoods <> 0 and CostOfRevenueServices <> 0 Then
'        CostOfRevenue = CostOfRevenueGoods + CostOfRevenueServices
'    End If


    'IS-Impute-01:
    If IncomeTaxExpenseBenefit = 0 and (IncomeTaxExpenseBenefitCurrent <> 0 or IncomeTaxExpenseBenefitDeferred <> 0) Then
        IncomeTaxExpenseBenefit = IncomeTaxExpenseBenefitCurrent + IncomeTaxExpenseBenefitDeferred
    End If


    'IS-Impute-02:
    If NetIncomeLossAttributableToParent = 0 and NetIncomeLossAvailableToCommonStockholdersBasic <> 0 and PreferredStockDividendsAndOtherAdjustments = 0 Then
        NetIncomeLossAttributableToParent = NetIncomeLossAvailableToCommonStockholdersBasic
    End If

    'IS-Impute-03:
    If NetIncomeLossAvailableToCommonStockholdersBasic = 0 and PreferredStockDividendsAndOtherAdjustments = 0 and NetIncomeLossAttributableToParent <> 0 Then
        NetIncomeLossAvailableToCommonStockholdersBasic = NetIncomeLossAttributableToParent
    End If


    'IS-Impute-04:
    If IncomeLossFromContinuingOperationsAfterTax = 0 and IncomeLossFromContinuingOperationsBeforeTax <> 0 Then
        IncomeLossFromContinuingOperationsAfterTax = IncomeLossFromContinuingOperationsBeforeTax - IncomeTaxExpenseBenefit
    End If


    'IS-Impute-05:
    If IncomeLossFromContinuingOperationsAfterTax = 0 and NetIncomeLoss <> 0 and IncomeLossFromDiscontinuedOperationsNetOfTax = 0 and ExtraordinaryItemsOfIncomeExpenseNetOfTax = 0 Then
        IncomeLossFromContinuingOperationsAfterTax = NetIncomeLoss
    End If


    'IS-Impute-06:
    If NetIncomeLoss = 0 and IncomeLossFromContinuingOperationsAfterTax <> 0 Then
        NetIncomeLoss = IncomeLossFromContinuingOperationsAfterTax + IncomeLossFromDiscontinuedOperationsNetOfTax + ExtraordinaryItemsOfIncomeExpenseNetOfTax
    End If



    'IS-Impute-07:
    If NetIncomeLoss = 0 and NetIncomeLossAttributableToNoncontrollingInterest = 0 and NetIncomeLossAttributableToParent <> 0 Then
        NetIncomeLoss = NetIncomeLossAttributableToParent
    End If


    'IS-Impute-08:
    If IncomeLossFromContinuingOperationsBeforeTax = 0 and IncomeLossFromContinuingOperationsAfterTax <> 0 and IncomeTaxExpenseBenefit = 0 Then
        IncomeLossFromContinuingOperationsBeforeTax = IncomeLossFromContinuingOperationsAfterTax
    End If



    'IS-Impute-09:
    'IS-Impute-01: (Old)
    If NetIncomeLoss = 0 and NetIncomeLossAttributableToParent <> 0 and NetIncomeLossAttributableToNoncontrollingInterest <> 0 Then
        NetIncomeLoss = NetIncomeLossAttributableToParent + NetIncomeLossAttributableToNoncontrollingInterest
    End If

    'IS-Impute-10:
    'IS-Impute-02: (Old)
    If NetIncomeLossAttributableToParent = 0 and NetIncomeLossAttributableToNoncontrollingInterest <> 0 and NetIncomeLoss <> 0 Then
        NetIncomeLossAttributableToParent = NetIncomeLoss - NetIncomeLossAttributableToNoncontrollingInterest
    End If

    'IS-Impute-11:
    'IS-Impute-03:  (Old)
    If NetIncomeLossAvailableToCommonStockholdersBasic = 0 and PreferredStockDividendsAndOtherAdjustments <> 0 and NetIncomeLossAttributableToParent <> 0 Then
        NetIncomeLossAvailableToCommonStockholdersBasic = NetIncomeLossAttributableToParent - PreferredStockDividendsAndOtherAdjustments
    End If

    'IS-Impute-12:
    'IS-Impute-04:  (Old)
    If NetIncomeLossAttributableToParent = 0 and NetIncomeLossAttributableToNoncontrollingInterest = 0 and NetIncomeLoss <> 0 Then
        NetIncomeLossAttributableToParent = NetIncomeLoss
    End If          


    'IS-Impute-13:
    'IS-Impute-05:  (Old)
    If PreferredStockDividendsAndOtherAdjustments = 0 and NetIncomeLossAttributableToParent <> 0 and NetIncomeLossAvailableToCommonStockholdersBasic <> 0 Then
        PreferredStockDividendsAndOtherAdjustments = NetIncomeLossAttributableToParent - NetIncomeLossAvailableToCommonStockholdersBasic
    End If

    'IS-Impute-14:
    'IS-Impute-06:  (Old)
    If NetIncomeLossAvailableToCommonStockholdersBasic = 0 and PreferredStockDividendsAndOtherAdjustments = 0 and NetIncomeLossAttributableToParent <> 0 Then
        NetIncomeLossAvailableToCommonStockholdersBasic = NetIncomeLossAttributableToParent
    End If
   
    'IS-Impute-15:
    'IS-Impute-07:  (Old)
    If IncomeLossFromContinuingOperationsAfterTax = 0 and NetIncomeLoss <> 0 Then
        IncomeLossFromContinuingOperationsAfterTax = NetIncomeLoss - IncomeLossFromDiscontinuedOperationsNetOfTax - ExtraordinaryItemsOfIncomeExpenseNetOfTax
    End If


    'IS-Impute-16:
    'IS-Impute-08:  (Old)
    If IncomeLossFromContinuingOperationsAfterTax = 0 and IncomeTaxExpenseBenefit <> 0 and IncomeLossFromContinuingOperationsBeforeTax <> 0 Then
        IncomeLossFromContinuingOperationsAfterTax = IncomeLossFromContinuingOperationsBeforeTax - IncomeTaxExpenseBenefit
    End If
            

'    'IS-Impute-17:
'    'IS-Impute-09:  (Old) DELETE
'    If IncomeLossFromContinuingOperationsBeforeTax = 0 and IncomeLossBeforeEquityMethodInvestments <> 0 and IncomeLossFromEquityMethodInvestments <> 0 Then
'        IncomeLossFromContinuingOperationsBeforeTax = IncomeLossBeforeEquityMethodInvestments + IncomeLossFromEquityMethodInvestments
'    End If
            
    'IS-Impute-18:
    'IS-Impute-10:  (Old)
    If IncomeLossFromContinuingOperationsBeforeTax = 0 and IncomeLossFromContinuingOperationsAfterTax <> 0 Then
        IncomeLossFromContinuingOperationsBeforeTax = IncomeLossFromContinuingOperationsAfterTax + IncomeTaxExpenseBenefit
    End If
            
'    'IS-Impute-19:
'    'IS-Impute-11:  (Old) DELETE
'    If IncomeLossBeforeEquityMethodInvestments = 0 and IncomeLossFromContinuingOperationsBeforeTax <> 0 and IncomeLossFromEquityMethodInvestments <> 0 Then
'        IncomeLossBeforeEquityMethodInvestments = IncomeLossFromContinuingOperationsBeforeTax - IncomeLossFromEquityMethodInvestments
'    End If   


    'IS-Impute-20:
    If IncomeLossFromContinuingOperationsBeforeTax <> 0 and OperatingIncomeLoss
 <> 0 Then
    	NonoperatingIncomePlusInterestAndDebtExpensePlusIncomeFromEquityMethodInvestments = IncomeLossFromContinuingOperationsBeforeTax - OperatingIncomeLoss
    End If   

    'IS-Impute-21:
    'IS-Impute-21:  (Old)
    If GrossProfit = 0 and Revenues <> 0 and CostOfRevenue <> 0 Then
        GrossProfit = Revenues - CostOfRevenue
    End If   


    'IS-Impute-22:
    'IS-Impute-21:  (Old)
    If OperatingExpenses = 0 and OperatingIncomeLoss <> 0 Then
        OperatingExpenses = GrossProfit - OperatingIncomeLoss
    End If   


    'IS-Impute-23:
    'IS-Impute-51:  (Old)
    If CostOfRevenue = 0 and Revenues <> 0 and GrossProfit <> 0 Then
        CostOfRevenue = Revenues - GrossProfit
    End If   


    'IS-Impute-24:
    'IS-Impute-99-1:  (Old)Added 2015-11-12 (Deals with noncontrolling interests that are made up of multiple line items)
    If NetIncomeLossAttributableToNoncontrollingInterest = 0 and NetIncomeLoss <> 0 and NetIncomeLossAttributableToParent <> 0 and EquityAttributableToNoncontrollingInterest <> 0 Then
        NetIncomeLossAttributableToNoncontrollingInterest = NetIncomeLoss - NetIncomeLossAttributableToParent
    End If



    'IS-Impute-99-3: ADDED 2016-03-25 (No total cost of revenue, but detail is provided)
    If GrossProfit <> (Revenues - CostOfRevenue) and GrossProfit = (Revenues - (CostOfRevenueGoods + CostOfRevenueServices)) Then
        CostOfRevenue = CostOfRevenueGoods + CostOfRevenueServices
    End If
    

    'Determine if income statement is multi-step or single-step
    IsMultiStepIncomeStatement = GrossProfit

'VERIFICATION RULES: Income statement

        
    IS1 = GrossProfit - (Revenues - CostOfRevenue)
    IS2 = OperatingIncomeLoss - (GrossProfit - OperatingExpenses)
    IS3 = 0
    IS4 = IncomeLossFromContinuingOperationsBeforeTax - (OperatingIncomeLoss + NonoperatingIncomePlusInterestAndDebtExpensePlusIncomeFromEquityMethodInvestments)
    IS5 = IncomeLossFromContinuingOperationsAfterTax - (IncomeLossFromContinuingOperationsBeforeTax - IncomeTaxExpenseBenefit)
    IS6 = NetIncomeLoss - (IncomeLossFromContinuingOperationsAfterTax + IncomeLossFromDiscontinuedOperationsNetOfTax + ExtraordinaryItemsOfIncomeExpenseNetOfTax)
    IS7 = NetIncomeLoss - (NetIncomeLossAttributableToParent + NetIncomeLossAttributableToNoncontrollingInterest)
    IS8 = NetIncomeLossAvailableToCommonStockholdersBasic - (NetIncomeLossAttributableToParent - PreferredStockDividendsAndOtherAdjustments)
    
    IS11 = 0
	 IS12 = 0
    IS13 = 0
    IS14 = 0





'XXXXXXXXXXXXXXXXXXXXXXXX NETWORK: 211-Net Income (Loss) Breakdown (http://www.xbrlsite.com/2014/Protototype/fac/NetIncomeLossBreakdown)
'Empty
'Reviewed 2015-11-13


'XXXXXXXXXXXXXXXXXXXXXXXX NETWORK: 212-Net Income (Loss) Available to Common Breakdown (http://www.xbrlsite.com/2014/Protototype/fac/NetIncomeLossAvailableToCommonBreakdown)
'Empty
'Reviewed 2015-11-13


'XXXXXXXXXXXXXXXXXXXXXXXX NETWORK: 301-Statement of Comprehensive Income (http://www.xbrlsite.com/2014/Protototype/fac/StatementOfComprehensiveIncome)
'Statement of comprehensive income
'Reviewed 2015-11-13


    'IS-Impute-01: 
    If ComprehensiveIncomeLossAttributableToParent = 0 and ComprehensiveIncomeLossAttributableToNoncontrollingInterest = 0 and ComprehensiveIncomeLoss <> 0 Then
        ComprehensiveIncomeLossAttributableToParent = ComprehensiveIncomeLoss
    End If

    'IS-Impute-02: 
    If ComprehensiveIncomeLossAttributableToParent = 0 and ComprehensiveIncomeLossAttributableToNoncontrollingInterest <> 0 and ComprehensiveIncomeLoss <> 0 Then
        ComprehensiveIncomeLossAttributableToParent = ComprehensiveIncomeLoss - ComprehensiveIncomeLossAttributableToNoncontrollingInterest
    End If



    'IS-Impute-03: 
    If ComprehensiveIncomeLoss = 0 and ComprehensiveIncomeLossAttributableToNoncontrollingInterest <> 0 and ComprehensiveIncomeLossAttributableToParent <> 0 Then
        ComprehensiveIncomeLoss = ComprehensiveIncomeLossAttributableToParent + ComprehensiveIncomeLossAttributableToNoncontrollingInterest
    End If

    'IS-Impute-04: 
    If ComprehensiveIncomeLoss = 0 and ComprehensiveIncomeLossAttributableToNoncontrollingInterest = 0 and ComprehensiveIncomeLossAttributableToParent <> 0 Then
        ComprehensiveIncomeLoss = ComprehensiveIncomeLossAttributableToParent
    End If

    'IS-Impute-05: 
    If ComprehensiveIncomeLossAttributableToNoncontrollingInterest = 0 and ComprehensiveIncomeLoss <> 0 and ComprehensiveIncomeLossAttributableToParent <> 0 Then
        ComprehensiveIncomeLossAttributableToNoncontrollingInterest = ComprehensiveIncomeLoss - ComprehensiveIncomeLossAttributableToParent
    End If



    'IS-Impute-06: 
    If ComprehensiveIncomeLoss = 0 and ComprehensiveIncomeLossAttributableToParent = 0 and ComprehensiveIncomeLossAttributableToNoncontrollingInterest = 0 and OtherComprehensiveIncomeLoss = 0 Then
        ComprehensiveIncomeLoss = NetIncomeLoss
    End If
            
    'IS-Impute-07: 
    If OtherComprehensiveIncomeLoss = 0 and ComprehensiveIncomeLoss <> 0 Then
        OtherComprehensiveIncomeLoss = ComprehensiveIncomeLoss - NetIncomeLoss
    End If

    'IS-Impute-08: 
    If ComprehensiveIncomeLossAttributableToParent = 0 and ComprehensiveIncomeLossAttributableToNoncontrollingInterest = 0 and ComprehensiveIncomeLoss <> 0 Then
        ComprehensiveIncomeLossAttributableToParent = ComprehensiveIncomeLoss
    End If

    'IS-Impute-09:
    If ComprehensiveIncomeLossAttributableToNoncontrollingInterest = 0 and ComprehensiveIncomeLossAttributableToParent <> 0 and ComprehensiveIncomeLoss <> 0 Then
        ComprehensiveIncomeLossAttributableToNoncontrollingInterest = ComprehensiveIncomeLoss - ComprehensiveIncomeLossAttributableToParent
    End If

'VERIFICATION RULES: Statement of comprehensive income

    IS9 = ComprehensiveIncomeLoss - (ComprehensiveIncomeLossAttributableToParent + ComprehensiveIncomeLossAttributableToNoncontrollingInterest)
    IS10 = ComprehensiveIncomeLoss - (NetIncomeLoss + OtherComprehensiveIncomeLoss)
    



'XXXXXXXXXXXXXXXXXXXXXXXX NETWORK: 311-Comprehensive Income (Loss) Breakdown (http://www.xbrlsite.com/2014/Protototype/fac/ComprehensiveIncomeBreakdown)
'Empty
'Reviewed 2015-11-13


'XXXXXXXXXXXXXXXXXXXXXXXX NETWORK: 401-Cash Flow Statement (http://www.xbrlsite.com/2014/Protototype/fac/CashFlowStatement)
'Cash flow statement (exchange gains included in net cash flow)
'Reviewed 2015-11-13

'Refactored version

    'CF-Impute-01: Added 2015-11-12 If total discontinued is reported but detail is not, assume total is operating
    If NetCashFlowFromOperatingActivitiesDiscontinued = 0 and NetCashFlowFromInvestingActivitiesDiscontinued = 0 and NetCashFlowFromFinancingActivitiesDiscontinued = 0 and NetCashFlowDiscontinued <> 0 Then
        NetCashFlowFromOperatingActivitiesDiscontinued = NetCashFlowDiscontinued
    End If


    'CF-Impute-02:
    If NetCashFlowFromOperatingActivitiesContinuing = 0 and NetCashFlowFromOperatingActivities <> 0 Then
        NetCashFlowFromOperatingActivitiesContinuing = NetCashFlowFromOperatingActivities - NetCashFlowFromOperatingActivitiesDiscontinued
    End If

    'CF-Impute-03:
    If  NetCashFlowFromInvestingActivitiesContinuing = 0 and NetCashFlowFromInvestingActivities <> 0 Then
        NetCashFlowFromInvestingActivitiesContinuing = NetCashFlowFromInvestingActivities - NetCashFlowFromInvestingActivitiesDiscontinued
    End If

    'CF-Impute-04:
    If NetCashFlowFromFinancingActivitiesContinuing = 0 and NetCashFlowFromFinancingActivities <> 0 Then
        NetCashFlowFromFinancingActivitiesContinuing = NetCashFlowFromFinancingActivities - NetCashFlowFromFinancingActivitiesDiscontinued
    End If


    'CF-Impute-05:
    If NetCashFlowFromOperatingActivities = 0 Then
        NetCashFlowFromOperatingActivities = NetCashFlowFromOperatingActivitiesContinuing + NetCashFlowFromOperatingActivitiesDiscontinued
    End If

    'CF-Impute-06:
    If NetCashFlowFromInvestingActivities = 0 Then
        NetCashFlowFromInvestingActivities = NetCashFlowFromInvestingActivitiesContinuing + NetCashFlowFromInvestingActivitiesDiscontinued
    End If

    'CF-Impute-07:
    If NetCashFlowFromFinancingActivities = 0 Then
        NetCashFlowFromFinancingActivities = NetCashFlowFromFinancingActivitiesContinuing + NetCashFlowFromFinancingActivitiesDiscontinued
    End If



    'CF-Impute-08:
    If NetCashFlowDiscontinued = 0 Then
        NetCashFlowDiscontinued = NetCashFlowFromOperatingActivitiesDiscontinued + NetCashFlowFromInvestingActivitiesDiscontinued + NetCashFlowFromFinancingActivitiesDiscontinued
    End If


    'CF-Impute-09:
    'CF-Impute-NEW during refactoring:
    If NetCashFlowContinuing = 0 and NetCashFlow <> 0 Then
        NetCashFlowContinuing = NetCashFlow - NetCashFlowDiscontinued - ExchangeGainsLosses
    End If
    

    'CF-Impute-10:
    'CF-Impute-NEW2 during refactoring:
    If NetCashFlow = 0 and NetCashFlowContinuing <> 0 Then
        NetCashFlow = NetCashFlowContinuing + NetCashFlowDiscontinued  + ExchangeGainsLosses
    End If
    


    'CF-Impute-11: Added 2015-11-05
    If NetCashFlowFromInvestingActivitiesContinuing = 0 and NetCashFlowFromOperatingActivitiesContinuing <> 0 and NetCashFlowFromFinancingActivitiesContinuing <> 0 and (NetCashFlowContinuing - (NetCashFlowFromOperatingActivitiesContinuing + NetCashFlowFromInvestingActivitiesContinuing + NetCashFlowFromFinancingActivitiesContinuing) <> 0) Then
        NetCashFlowFromInvestingActivitiesContinuing = NetCashFlowContinuing - (NetCashFlowFromOperatingActivitiesContinuing + NetCashFlowFromFinancingActivitiesContinuing)
    End If

    'CF-Impute-12: Added 2015-11-05
    If NetCashFlowFromFinancingActivitiesContinuing = 0 and NetCashFlowFromOperatingActivitiesContinuing <> 0 and NetCashFlowFromInvestingActivitiesContinuing <> 0 and (NetCashFlowContinuing - (NetCashFlowFromOperatingActivitiesContinuing + NetCashFlowFromInvestingActivitiesContinuing + NetCashFlowFromFinancingActivitiesContinuing) <> 0) Then
        NetCashFlowFromFinancingActivitiesContinuing = NetCashFlowContinuing - (NetCashFlowFromOperatingActivitiesContinuing + NetCashFlowFromInvestingActivitiesContinuing)
    End If


    'CF-Impute-13: Added 2015-11-05
    If NetCashFlowFromInvestingActivities = 0 and NetCashFlowFromOperatingActivities <> 0 and NetCashFlowFromFinancingActivities <> 0 and (NetCashFlow - (NetCashFlowFromOperatingActivities + NetCashFlowFromInvestingActivities + NetCashFlowFromFinancingActivities + ExchangeGainsLosses) <> 0) Then
        NetCashFlowFromInvestingActivities = NetCashFlow - (NetCashFlowFromOperatingActivities + NetCashFlowFromFinancingActivities + ExchangeGainsLosses)
    End If

    'CF-Impute-14: Added 2015-11-05
    If NetCashFlowFromFinancingActivities = 0 and NetCashFlowFromOperatingActivities <> 0 and NetCashFlowFromInvestingActivities <> 0 and (NetCashFlow - (NetCashFlowFromOperatingActivities + NetCashFlowFromInvestingActivities + NetCashFlowFromFinancingActivities + ExchangeGainsLosses) <> 0) Then
        NetCashFlowFromFinancingActivities = NetCashFlow - (NetCashFlowFromOperatingActivities + NetCashFlowFromInvestingActivities + ExchangeGainsLosses)
    End If




    'CF-Impute-15:
    If NetCashFlowContinuing = 0 Then
        NetCashFlowContinuing = NetCashFlowFromOperatingActivitiesContinuing + NetCashFlowFromInvestingActivitiesContinuing + NetCashFlowFromFinancingActivitiesContinuing
    End If
    
    


    
    'CF-Impute-16:
    If NetCashFlowFromOperatingActivities = 0 and NetCashFlowFromOperatingActivitiesContinuing <> 0 and NetCashFlowFromOperatingActivitiesDiscontinued = 0 Then
        NetCashFlowFromOperatingActivities = NetCashFlowFromOperatingActivitiesContinuing
    End If

    'CF-Impute-17:
    If NetCashFlowFromInvestingActivities = 0 and NetCashFlowFromInvestingActivitiesContinuing <> 0 and NetCashFlowFromInvestingActivitiesDiscontinued = 0 Then
        NetCashFlowFromInvestingActivities = NetCashFlowFromInvestingActivitiesContinuing
    End If

    'CF-Impute-18:
    If NetCashFlowFromFinancingActivities = 0 and NetCashFlowFromFinancingActivitiesContinuing <> 0 and NetCashFlowFromFinancingActivitiesDiscontinued = 0 Then
        NetCashFlowFromFinancingActivities = NetCashFlowFromFinancingActivitiesContinuing
    End If



    'CF-Impute-19: Added 2015-11-05
    If NetCashFlow = 0 and NetCashFlowContinuing <> 0 and NetCashFlowDiscontinued = 0 and NetCashFlowFromOperatingActivitiesDiscontinued = 0 and NetCashFlowFromInvestingActivitiesDiscontinued = 0 and NetCashFlowFromFinancingActivitiesDiscontinued = 0 and ExchangeGainsLosses = 0 Then
        NetCashFlow = NetCashFlowContinuing
    End If



    'CF-Impute-20:
    If NetCashFlow = 0 and (NetCashFlowFromOperatingActivities <> 0 or NetCashFlowFromInvestingActivities <> 0 or NetCashFlowFromFinancingActivities <> 0) Then
        NetCashFlow = NetCashFlowFromOperatingActivities + NetCashFlowFromInvestingActivities + NetCashFlowFromFinancingActivities + ExchangeGainsLosses
    End If


    'CF-Impute-21: 
    If NetCashFlow = 0 and NetCashFlowContinuing <> 0 and NetCashFlowDiscontinued <> 0 Then
        NetCashFlow = NetCashFlowContinuing + NetCashFlowDiscontinued + ExchangeGainsLosses
    End If







'VERIFICATION RULES: Cash flow statement

    CF1 = NetCashFlow - (NetCashFlowFromOperatingActivities + NetCashFlowFromInvestingActivities + NetCashFlowFromFinancingActivities + ExchangeGainsLosses)
    
    'CF2 = NetCashFlowContinuing - (NetCashFlowFromOperatingActivitiesContinuing + NetCashFlowFromInvestingActivitiesContinuing + NetCashFlowFromFinancingActivitiesContinuing)
    CF2 = NetCashFlow - (NetCashFlowContinuing + NetCashFlowDiscontinued + ExchangeGainsLosses)

    CF3 = NetCashFlowDiscontinued - (NetCashFlowFromOperatingActivitiesDiscontinued + NetCashFlowFromInvestingActivitiesDiscontinued + NetCashFlowFromFinancingActivitiesDiscontinued)
    CF4 = NetCashFlowFromOperatingActivities - (NetCashFlowFromOperatingActivitiesContinuing + NetCashFlowFromOperatingActivitiesDiscontinued)
    CF5 = NetCashFlowFromInvestingActivities - (NetCashFlowFromInvestingActivitiesContinuing + NetCashFlowFromInvestingActivitiesDiscontinued)
    CF6 = NetCashFlowFromFinancingActivities - (NetCashFlowFromFinancingActivitiesContinuing + NetCashFlowFromFinancingActivitiesDiscontinued)
    
    


'XXXXXXXXXXXXXXXXXXXXXXXX NETWORK: 411.1-Net Cash Flow Breakdown (http://www.xbrlsite.com/2014/Protototype/fac/NetCashFlowBreakdown)
'Empty
'Reviewed 2015-11-13


'XXXXXXXXXXXXXXXXXXXXXXXX NETWORK: 420.1-Continuing and Discontinued Net Cash Flow Breakdown (http://www.xbrlsite.com/2014/Protototype/fac/ContinuingDiscontuedBreakdown)
'Empty
'Reviewed 2015-11-13


'XXXXXXXXXXXXXXXXXXXXXXXX NETWORK: 501-Key Ratios (http://www.xbrlsite.com/2014/Protototype/fac/KeyRatios)
'Key ratios
'Reviewed 2015-11-13


    If (Assets <> 0) and (Equity <> 0) and (Revenues <> 0) Then
        SustainableGrowthRate = ((NetIncomeLoss / Revenues) * (1+((Assets - Equity) / Equity))) / ((1 / (Revenues / Assets))-(((NetIncomeLoss / Revenues) * (1+(((Assets - Equity) / Equity))))))
    End If

    If Assets <> 0 Then
        ReturnOnAssets = NetIncomeLoss / Assets
    End If

    If Equity <> 0 Then
        ReturnOnEquity = NetIncomeLoss / Equity
    End If

    If Revenues <> 0 Then
        ReturnOnSales = NetIncomeLoss / Revenues
    End If



'XXXXXXXXXXXXXXXXXXXXXXXX NETWORK: 601.2-Validation Results (No IS11) (http://www.xbrlsite.com/2014/Protototype/fac/ValidationResults2)
'Empty
'Reviewed 2015-11-13


'END OF FILE
